Object-Oriented Programming = Object + Classification + Inheritance + Communication with messages
是对现实世界的理解和抽象
Object:是属性及其操作的封装体,能够标识自身.
Classification:把具有一致的特征(属性)和行为(方法)的对象抽象成类
Inheritance:子类共享父类的数据和方法,是类间的一种关系,提高重用性
Communication with messages: 方法的调用
类(clss): 具有相同特征和行为的对象的抽象,归纳能力
对象(object): 类的实例(Instance)
1.封装(Encapsulation)
把客观事物封装成抽象的类.
隐藏实现细节,使代码模块化.
2.继承(Inheritance)
父类与子类之间数据的共享.
代码的重用.
扩展已存在的代码模块.
3.多态(Polymorphism)
静态多态:重载(Overload) 同名函数,参数不同
动态多态:覆盖(Override) 对接口方法的实现,或是对父类中方法的重写,也称动态联编,编译时不能确定,推迟到运行时.
不同对象收到同一消息时,进行不同的响应,产生不同的结果.
允许将一个子类型的指针赋值给父类型.
接口重用
允许每个对象以适合自身的方法去响应共同的消息
增加灵活性