1. 前言
1.1 面向对象的好处
面向对象的一个伟大的应用例子是活字印刷术。一篇文章印错了字,只需改错的字,而无需重新刻模板,就是可维护。印错的那个字的模块还可以用来印其他文章,就是可复用。文章加字只需另刻字加入,就是可扩展。活字可以横着排列印刷文章,也可竖着、斜着排列印刷文章,就是灵活性好。
1.2 面向对象的特性
面向对象有三大特性,封装、继承和多态。封装是指将对象的实现细节隐藏起来,只通过一些公共方法来暴露对象的功能。继承是实现代码复用的有效手段,当子类继承父类后将直接拥有父类的属性和方法。多态是父类类型可实例化为子类类型对象,拥有子类的行为特征,这会导致同一个类型的对象在执行相同的方法时可表现出不同的行为特征。
例如
Animal dog = new Dog();
dog.talk(); //“汪汪汪”
Animal cat = new Cat();
cat.talk(); //“喵喵喵”
Dog和Cat都继承了Animal类,变量dog和cat都是Animal类型,但它们调用talk()方法时打印出的字符串却不同。
2. 设计原则
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结ÿ