(1)面向对象
1、面向对象:
封装:将属性,方法封装为一个抽象,一个类。提高代码可维护性,保护代码被意外修改。
继承:子类继承基类,无需重写原有的代码并且可以进行扩展。
多态:允许子类类型的指针赋值给基类类型的指针。
2、
为什么要进行面向对象设计?
软件开发唯一真理是“软件必然修改”。
为了能更轻松地应对变化,扩展以及复用。所以利用类来封装各种方法,以变化极小的代价来扩展功能。
3、
面向对象的五大原则:
S = 单一责任原则
O = 开闭原则
L = 里氏替换原则
I = 接口隔离原则
O = 开闭原则
L = 里氏替换原则
I = 接口隔离原则
D = 依赖倒置原则
4、(1)单一责任原则:(封装类)
一个类有且只有一个职责。一个类应该仅有一个引起它发生改变的原因。
如果类包含多个职责,代码会变得耦合。
(2)开闭原则:(抽象类)
对扩展开放,对更改关闭。避免修改代码,导致报红。
(3)里氏替换原则:(类的继承)
确保继承被正确使用的手段,子类能够替换基类。
(4)接口隔离原则:(接口单一责任)
接口实现自己的职责,且清晰明确,易于理解,具有可复用性。
一个接口对应一种功能,多种功能应该定义多个接口。
(5)依赖倒置原则:(定义多个抽象类)
使用接口替代具体类。
高层次的模块不应该依赖于低层次的模块,而是,都应该依赖于抽象。(使用抽象继承)
细节应该依赖抽象:把需要划分细节的方法,用抽象方法替代;把需要划分细节的类,用抽象类替代。
参考文章:http://www.oschina.net/translate/how-i-explained-ood-to-my-wife?lang=chs&page=1#