1.什么是面向对象的程序设计

    • 对象由一组属性和一组行为构成
      • 属性;—-数据描述、静态特性
      • 行为,即能根据外界给的信息进行相应操作。—-行为描述、动态特性
      • 行为操作属性。
    • 消息是外部控制行为的途径,对象间进行联系和协调也是靠消息。

    批注 2020-08-18 095440.png

    • 在C++中,对象由数据和函数组成。
    • 我们可以对一个对象进行封装处理,把其一部分属性和功能对外屏蔽,使用对象的人不必知道对象内部的具体细节,只需了解其外部功能即可操作对象。把对象的内部实现和外部行为分隔开来
    • 面向对象程序设计的每一组数据都有特定的用途,是某种操作的对象。即,一组操作调用一组数据。
    • 程序设计的任务:
      • 设计所需的各种种类和对象,即决定把那些数据和操作封装在一起;
      • 考虑怎样向有关对象发送消息,以完成所需的任务。
    • 面向对象的程序组成:
      • 对象 = 算法 + 数据结构
      • 程序=(对象+对象+对象+……)+ 消息
      • 消息的作用就是对对象的控制


    2.重要概念**

    • 对象
      • 客观世界中任何一个事物都可看成对象,对象时构成系统的基本单位。
      • 任何对象都应当具有两个要素:属性和行为。
      • 要使某一个对象实现某种行为,应当向它传送相应的消息。对象直接通过发送和接收消息互相联系。
    • 封装与消息隐蔽
      • 封装的含义
        • 将有关的数据和操作代码封装在一个对象中,形成一 个基本单位,各个对象之间相对独立,互不干扰;
        • 将对象中某些部分对外隐蔽,即隐蔽其内部细节,只 留下少量接口,以便与外界联系,接收外界的消息。
      • 对外界隐蔽的做法称信息隐蔽。信息隐蔽有利于数据安全,防止无关的人修改数据
      • 函数名时对象的对外接口,外界可通过函数名来调用这些函数来实现某些行为(功能)。
    • 抽象
      • 抽象即将有关事物的共性归纳、集中。抽象的作用是表示同一类事物的本质。
      • 类是对象的抽象,而对象是类的特例,是类的具体表现形式。
      • 对象是具体存在的。
    • 继承与重用
      • C++提供了继承机制,可以很方便地利用已有的类建立一个新的类。
      • 如:“白马”继承了“马”的基本特征,又增加了新的特征(颜色),“马”是父类,或称基类,“白马”从“马”派送出来,称为子类或派生类。
      • 继承机制可简化程序设计的步骤。
    • 多态性
      • 如有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。
      • 多态性的含义:由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。
      • 多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。