面向对象设计 OOP
不是简单地把程序分成数据和处理方法,而是把程序分成许多"对象"的基本单位,用这些对象的相互作用进行叙述。
很容易把对象误认为是数据的捆绑,但与其如此,更应视为执行一个角色的method和数据的捆绑。
面向对象的三大特性:
- 封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 - 继承
提高代码复用性;继承是多态的前提。 - 多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。
SOLID原则
SOLID是面向对象设计必须遵守的5个基本原则,以软件设计需要的5个原则的首字母命名的。
1. SRP - 单一责任原则
Single Responsibility Principle,对象应该只有一个责任。
指的是一个类或者一个方法只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化就可能抑制或者削弱这个类完成其他职责的能力。例如餐厅服务员负责把订单给厨师去做,而不是服务员又要订单又要炒菜。
2. OCP - 开放封闭原则
Open-Closed Principle,对象对扩张要开放,对修改要封闭的原则。
对扩展开放,对修改关闭。意为一个类独立之后就不应该去修改它,而是以扩展的方式适应新需求。例如一开始做了普通计算器程序,突然添加新需求,要再做一个程序员计算器&#