把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),
通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)
和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。
程序中的数据和操作数据的函数是一个逻辑上的整体,我们称之为“对象”,而我们解决问题的方式
就是创建出需要的对象并向对象发出各种各样的消息,多个对象的协同工作最终可以让我们构造出复杂的系统来解决现实中的问题。
简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出
类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,
每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征
(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。