进阶面向对象

面向对象的意义在于

将日常生活中习惯的思维方式引入程序设计中

将需求中的概念直观的映射到解决方案中

以模块为中心构建可复用的软件系统

提高软件产品的可维护性和可拓展性

类和对象是面向对象中的两个基本概念

类:指的是一类事务,是一个抽象的概念

对象:指的是属于某个类的具体实体

类是一种模型,这种模型可以创建出不同的对象实体

对象实体是类模型的一个具体实例

一个类可以有很多对象,而一个对象必然属于某个类

生活中的类和对象

进阶面向对象_第1张图片

进阶面向对象_第2张图片

类和对象的意义

类用于抽象的描述一类事物所特有的属性和行为

  • 如:电脑拥有 CPU,内存和硬盘,并且可以开机和运行程序

对象是具体的事物,拥有所属类中描述的一切属性和行为

  • 如:每一只老虎都有不同的体重,不同食量以及不同性情

类之间的基本关系

继承

  • 从已存在类细分出来的类和原类之间具有继承关系 (is-a)
  • 继承的类 (子类) 具有原类 (父类) 的所有属性和行为

组合

  • 一些类的存在必须依赖于其他的类,这种关系叫组合
  • 组合的类在某一局部上由其他的类组成

类之间的基本关系 - 继承

进阶面向对象_第3张图片

类之间的基本关系 - 组合

进阶面向对象_第4张图片

类的表示法

进阶面向对象_第5张图片

进阶面向对象_第6张图片 

#include 

struct Biology {
    bool living;
};

struct Animal : Biology {
    bool movable;
    void findFood() { }
};

struct Plant : Biology {
    bool growable;
};

struct Beast : Animal {
    void sleep() { }
};

struct Human : Animal {
    void sleep() { }
    void work() { }
};


int main()
{
    return 0;
}

Animal 继承 Biology,所以 Animal 拥有 Biology 所有的属性和行为 (变量和函数)

小结

面向对象是当今软件开发中的重要方法

类和对象是面向对象理论中的基本概念

类和对象均来源于日常生活中

每个类可以有多个对象

每个对象不然属于某个类

类之间可以存在继承关系或组合关系

继承关系中子类拥有父类的一切属性和行为

组合关系是类之间整体和部分的关系

类及类之间的关系可以有不同的表示法

编译器对类的表示法有具体的要求

你可能感兴趣的:(C++,c++)