我理解的oop

来源:互联网 发布:javascript table 编辑:程序博客网 时间:2024/05/21 09:26

1. 对象
对象有自己的属性和方法;可以当做参数传递;浅拷贝;回调;抽象等。这个时候的面向对象是一个“点”。
2. 泛化
泛化有继承和实现,再加上多态,这样就是对象有了竖直方向上的关系。这个时候的面向对象是一条“直线”。
3. 组合、聚合、关联、依赖
这四类关系使对象有了横向上的联系。这个时候的面向对象是一个“面”。
虽然面向对象有泛化、组合、聚合、关联、依赖等关系,但是还需要合理的将它们使用在对象之间,这个时候就需要用到设计模式。

一、面向对象的6大设计原则
1. 单一职责原则:
2. 里氏替换原则 :为良好的继承定义了一个规范
3. 依赖倒置原则 :面向抽象编程
4. 接口隔离原则 :接口尽量细化,接口中的方法尽量少
5. 迪米特法则 :只与直接的朋友通信
6. 开闭原则:对扩展开放,对修改关闭,拥抱变化。前五个原则是其具体的解释

二、23中常用的设计模式
比较官方的分类:
1. 创建型(5种)
2. 结构型(7种)
3. 行为性(11种)
从功能上的分类:
委托模式:装饰模式、代理模式;状态模式、策略模式、访问者模式
对继承的补充:桥梁模式、装饰模式

1 0