《简明C++面向对象程序设计与实践/应用型本科软件工程专业“十三五”规划教材》:
类是一组具有相同属性和行为的对象的集合,是对具有相同特征事物的一个归类。如果一个学生是一个对象,那么所有学生就可以定义一个学生类,作为所有学生的一个模板,或者说抽象(abstraction)。
类和对象之间的关系是抽象和具体的关系。类是多个对象共同特征的一个抽象,在现实世界并不存在,而对象则是类的一个实例(instance),是一种客观存在。再比如“学生”是一个类,软件学院171502001号学生则是“学生”类的一个实例,是一个具体的“对象”。
2.抽象与封装
抽象是指对特定事物抽取共同特征,形成一般性的抽象概念。例如,我们抽取苹果、香蕉、梨、葡萄的共��特性,归纳形成一个新的概念叫做“水果”,这个过程就是抽象。下面1.4节的数据类型就是对某些具体的数据进行抽象而得到的,同样,从对象归纳出类的过程也是抽象,其中对象是具体的客观存在,而类则是对象的抽象表示封装是一种信息隐藏技术,它把对象的属性和操作结合成一个独立单元,并尽可能对外界隐藏对象的内部实现细节。对外界其他对象来说,不需了解对象内部是如何实现的,只需要了解对象所呈现出来的外部行为(接口)即可。如“汽车”对象,“司机”只能通过方向盘,仪表和制动踏板来操作“汽车”,而“汽车”内部的实现细节则被隐藏起来。在面向对象程序设计中,通常将数据和对数据的操作封装成一个有机的整体,也就是人们说的对象。
……