home commit with new plugins
This commit is contained in:
+20
-2
@@ -1,13 +1,31 @@
|
||||
### 三大特性
|
||||
1. 封装
|
||||
把数据和操作数据的方法放在一起,并隐藏实现细节,只对外暴露合适的接口。
|
||||
2. [[继承]]
|
||||
3. 多态
|
||||
在已有类型的基础上复用和扩展功能,表达清晰的 `is-a` 关系。
|
||||
3. [[多态vob|多态]]
|
||||
同一个调用入口,在不同对象上表现出不同实现。
|
||||
|
||||
补充:
|
||||
- 三大特性是面向对象里最常见的基础概念。
|
||||
- 实际写代码时,通常是先做好封装,再视情况决定要不要用继承和多态。
|
||||
|
||||
#### 七大原则
|
||||
1. 开闭原则
|
||||
对扩展开放,对修改关闭。
|
||||
2. 依赖倒转原则
|
||||
3. 里氏替换原则
|
||||
高层模块不依赖低层细节,双方都依赖抽象。
|
||||
3. [[里氏替换原则]]
|
||||
子类对象应该能替换父类对象而不破坏程序正确性。
|
||||
4. 单一职责原则
|
||||
一个类最好只负责一类事情。
|
||||
5. 接口隔离原则
|
||||
接口要小而专,不要逼调用方依赖自己用不到的成员。
|
||||
6. 合成复用原则
|
||||
优先使用组合,而不是为了复用就滥用继承。
|
||||
7. 迪米特法则
|
||||
对象之间尽量少了解内部细节,降低耦合。
|
||||
|
||||
补充:
|
||||
- 这些原则是设计经验,不是语法规则。
|
||||
- 新手阶段先理解“为什么这么设计会更好维护”,比死记名字更重要。
|
||||
|
||||
Reference in New Issue
Block a user