面向对象概述
概述
- 面向过程的程序 = 算法 + 数据结构 :关心解决问题的步骤。
- 面向对象的程序 = 对象+交互 关心谁在解决问题
- 类:一个抽象的概念,即为生活中的“类别”。
- 对象:类的具体实例,即归属于某个个别的“个体”
同类型的多个对象,行为相同,数据不同。
优势
- 高复用
- 高扩展
- 高维护
- 高移植
主要思想
-
分而治之 — 将一个大的需求分解为许多类,每个类处理一个独立的模块
拆分的好处:独立模块便于分工,每个模块便于复用,可扩展性强。 -
封装变化 — 变化的地方独立封装,避免影响其他模块。
-
高内聚 — 类的各个方法都在完成一项任务(单一职责的类)。
复杂的实现封装在内部,对外提供简单的调用。 -
低耦合 — 类与类的关联性依赖度要低于(每个类独立)。
让一个模块的改变,尽量少影响其他模块。