知识卡片
类是模板,对象是从模板构造出的实例
内容
面向对象范型把系统建模成一群对象的协作,每个对象都包含描述自身状态的实例变量和描述自己能做什么的方法(函数)。当一批对象共享同样的结构(比如游戏里所有激光武器都有”剩余能量”这个状态、都能”左转/右转/开火”)时,可以先定义一个类作为共同的模板,再用这个模板批量构造出各自独立的对象——每个对象称为该类的一个实例,就像同卵双胞胎出自同一份基因模板却是彼此独立的个体,各自的实例变量可以取不同的值(如不同激光器的剩余能量互不相同)。发散:类和对象的关系,与”基本数据类型(如整型)”和”这个类型下的具体数值(如 5、82)”是同一种关系——类本质上是程序员自定义的新数据类型,对象则是这个自定义类型下的一个具体值,这也是面向对象编程常被称为”让程序员扩展语言原生类型系统”的原因。
参考来源
《计算机科学概论》第6章《程序设计语言》