面向对象=对象+分类+继承+通过消息的通信
- 对象(object)的概念:对象=对象名+属性+操作(方法),对象是一组属性以及这组属性上的专用操作的封装体。属性可以是一些数据,也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。
- 类(class)的概念:类=类名+属性+操作(方法),类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance),把类和这个类所有的对象称为类及对象、对象类。抽象类的子类必须覆盖所有抽象方法之后才能被实例化。
- 继承(inherit):表示了对象间“is-a” 的关系,即子类(派生类)是父类(超类、基类)的一种。继承是某个类的层次关联中不同的类共享属性和操作的一种机制。对于两个类A和B,如果A类是B类的子类,则说B类是A类的泛化。继承是面向对象方法区别于其他方法的一个核心思想。凡是引用父类对象的地方都可以使用子类对象代替。