面向对象的原则

77 阅读1分钟

面向对象的7大原则

oop原则.png

里氏替换原则

子类能够完全替换基类(与期望一致)

  • 替换
  • 与期望一致的替换

合成复用原则

复用时应该优先使用关联关系,而不是继承 关联关系:

  • 组合:强关联,人有眼睛
    
  • 聚合:弱关联,一个班级包含20个学生
    
public class Class {
        // 聚合
        private List<Student> Students;
}
public class Student {
    // 组合
    public Head head;
}

关联关系: 可以动态的引用成员对象相同类型的对象,耦合程度较低

继承:

  • final对象不能继承
  • 暴露了父类方法给子类
  • 继承是静态关系,不能动态修改负父类的方法