Lesson2

1 面向对象的核心

  1. 1个工具:抽象(Abstract)
  2. 2个概念:类是对象的类型。类和对象之间是抽象和具体的关系。类是创建对象的模板,对象是类的具体实例。类(class)是总称,对象是个体,因此对象(object)也叫实例(instance)。
    1. 类(Class):具有相同性质的对象的抽象体。
      创建一个类就是创建一个新的数据类型,实例化一个类,就得到一个对象。
      有两个部分:成员变量和成员方法
    2. 对象(Object):客观存在的实体
  3. 3个特性
    1. 封装(Encapsulation):将数据和数据的操作封装在一起
    2. 继承(Inheritance)
    3. 多态(Polymorphism)
  4. 4个步骤
    1. 分析(Analysis): 找出系统中的对象,抽象出类,确定它们所属的不同主题,分析它们之间的关系
    2. 设计(Design):对每个类应该封装的数据及其操作进行详细设计和描述
    3. 实现(Implementation):采用某种编程语言编码(Coding)实现各个类
    4. 测试(Test):由类创建对象,验证其功能和性能是否满足需求

2 类之间的关系

  1. 关联:类A与类B的实例之间存在特定的对应关系。
    实线。
    类之间的特定关系
    1. 一对一关联:例如假定一个家庭教师只教一个学生,一个学生只有一个家庭教师,那么家庭教师和学生之间是一对一关联。
    2. 一对多关联:例如假定一个足球队员只能加入一个球队,一个球队可以包含多个队员,那么球队和队员之间是一对多关联。
    3. 多对多关联:例如假定一个足球队员可以加入多个球队,一个球队可以包含多个队员,那么球队和队员之间是多对多关联。
  2. 依赖:类A访问类B提供的服务。
    虚线。
    如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B。
    例:把大象装冰箱;在面板中绘图。
  3. 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成。
    带实线的菱形箭头。
    整体与部分之间的关系
    例:台灯和灯泡。
  4. 泛化:类A继承类B。
    带实线的三角形箭头。
  5. 实现:类A实现了B接口。
    带虚线的三角形箭头。
Built with MDFriday ❤️