面向对象是目前主流的开发模式,基本概念是将和数据相关的行为封装为特殊的名为对象的实体,对象实体则给出了一系列的蓝图,这些蓝图就是类。
我们以汽车为例来讲解一下类与对象。
在上图中是交通工具类的UML图,我们有一辆桑塔纳汽车,那么这个桑塔纳就是一个对象,就是Car这个类的一个实例。每辆车都有名字 、重量和高度等属性,这些属性都是类的成员变量,存储在成员变量中的数据被称为状态。每辆车都有启动和停止行为,这些都是类的行为方法,所有方法定义了类的行为。
在实际开发中,不可能只有一个类,多个类组织起来就形成了类的层次结构。例如你还有一辆自行车,它和汽车的属性/方法有很多相同的地方,因此我们可以定义一个交通工具类Vehicle,并将自行车和汽车共有的属性和方法都定义在这里,这个类被称为父类或者超类,继承它的类被称为子类,子类会继承父类的行为和属性,我们只需要在子类中定义子类特有的属性和行为即可,例如汽车有加油属性,自行车有类型属性。UML类图如下