面向对象的语言一般有以下三个基本特征:
(1)封装 封装是面向对象的重要特征之一,封装就是指隐藏。一方面对象隐藏了数据,例如java语言的private属性,另一方面对象隐藏了实现细节,使用者只能使用公有方法,而你可以随意修改私有方法或者受保护的方法,从而降低了耦合度.
(2)继承 从下往上看,继承可以重用父类的功能;从上往下看,继承可以扩展父类的功能.
(3)多态 我们可以使用同一段代码处理不同类型的对象,只要它们继承/实现了相同的类型.
面向对象的好处:
-对象易于理解和抽象
-对象的粒度更大,模块化程度也更高
-更加容易重用代码
-具有可扩充性和开放性
-代码易于阅读
-易于测试和调试
-代码容易维护
什么是模式:
模式是一个常用的解决方案(general solution),而非仅仅是一个solution。
回调:
回调表示一段可执行逻辑的引用(或者指针),我们把该引用(或者指针)传递到另外一段逻辑(或者方法)里供这段逻辑适时调用。回调在不同语言有不同的实现。例如,在C语言里经常使用函数指针实现回调,在C#语言里使用代理(delegate)实现,而在Java语言里使用内部匿名类实现回调.