第3章 类、对象和方法
本章我们将学习面向对象程序设计的一些关键概念,并开始使用Objective-C中的类。你需要学习少量术语,我们将用非正式的形式向你介绍。本章只会讲解一些基本的术语,因为一下子讲太多你可能无法轻易接受。参见本书结尾的附录A,可以获得这些术语的更为精确定义。
3.1 到底什么是对象
对象就是一个事物。把面向对象的程序设计看成一个事物,而且想对这个事物做些工作。这与C语言不同,C语言通常称为过程性语言。在C语言中,通常是先考虑要做什么,然后才关注对象……这几乎总是与面向对象的思考过程相反。
我们举一个日常生活中的例子。假定你有一辆汽车,显然它是一个对象,而且是你拥有的一个对象。你并不是拥有任意一辆汽车,而是一辆特定的汽车,它由一家制造厂制造,可能在底特律,可能在日本,也可能在其他地方。你的汽车拥有一个车辆识别号码(vehicle identification number, VIN),它唯一标识你的汽车。
在面向对象的用语中,你的汽车是汽车的一个实例。如果继续使用术语,car就是类的名称,这个实例就是从该类创建的。因此,每制造一辆新汽车,就会创建汽车类的一个新实例,而且汽车的每个实例都称作一个对象。
你的汽车可能是银白色的,内部装饰为黑色,是辆敞篷车或者有金属顶盖,等等。此外,你还用这辆汽车执行特定的操作。例如,驾驶汽车、加油、(满怀希望地)洗车、接受维修,等等。这些情况在表3-1中做了描述。
表3-1所列的操作可以对你的汽车实现,也可以对其他汽车实现。例如,你姐姐会驾驶她的汽车、洗车、加油,等等。