面向对象
面向对象是对数据进行抽象,函数式是对行为进行抽象。
- 封装,高内聚,内部信息隐藏
- 继承,实现代码重用
- 多态
抽象
- 将一类对象最本质,因而最不容易变化的部分提炼出来。抽象类,提取共性,抽象容易变化的方法。抽象的模块因稳定而少修改,因普适而便于扩展。
封装
-
封装,又叫信息隐藏,将对象非本质,容易变化的地方隐藏起来,将一个类分为阴阳两面。
-
封装的四层含义
- 信息隐藏,隐藏实现细节,对外暴露业务接口;
- 在一起,属性和行为在一起,给方法提供数据的属性,操纵数据的方法;
- 职责要完备,自己的狗粮自己吃,自己吃自己的狗粮,多管闲事和尸位素餐都是不可取,举列子来说水杯要包括加水和倒水的两个功能,以及资源的操作一般要包括增删改查;
- 封装变化,将同类的变化封装到同一个类中,可避免散弹式修改;
- 限制接口的访问形式,入参,合法性检验
耦合与内聚
-
问题的抽象与分解
-
类的职责与协作