课时2:类与对象简介
摘要:既然提及了面向对象,那其中有两个极为重要的概念,我们必须率先明晰。要知道,面向对象是一个颇为庞大的话题,然而再庞大的话题也有其核心组成部分,而这核心部分便是类与对象。接下来,我们就针对类与对象展开分析,先来看看类与对象的简介。
我们先来看二者是何种关系。类是对某类事物共性的抽象概念,而对象描述的则是具体的个体。或许大家对此过程不太理解,不妨举例说明。比如,我和王建站在一起,大家能轻易分辨出谁是谁,原因在于我与他存在诸多不同之处,我可能比他更具学识、身材更瘦、长相更显文气等。
当我们与其他人进行比较时,能够区分出彼此,毕竟我们都是一个个具体可辨的个体。
当我们看到生活中的各类场景,比如我在教课,李旭在做俯卧撑,林强在跑步,郭林一在吃饭,我们会发现这些都是一个个鲜活的个体在进行着不同的活动。然而,若有一位外国人看到这样的场景,或许会笼统地说一群中国人在这。
就像我们有时看黑人,可能觉得他们外貌上有相似之处,但外国人看我们中国人,可能也觉得都是黄皮肤、黑头发,好像都差不多。不过,外国人区分人的标准可能会依据骨骼、肤色等因素。
我们刚刚提到的都是一个个具体的个体,不过这些个体都存在一些共性标志,比如我们都是中国人。但同时,人与人又是不同的,我们有着各自不同的属性。就好比发布通缉令,要写明姓名、年龄以及所犯何事等关键信息,这样就能清晰地描述出具体的某个人。
正是这些不同的属性集合起来构成了一个对象,而所有这些属性基于群体层面的定义便形成了一个类。也就是说,通过这样的概念分析,我们便能明白,类是所有对象共性的产物,而对象则是一个个具备鲜明特征的具体且可被使用的个体产物。
那么这一过程可类比于如下概念。以汽车设计为例,在开展汽车生产活动时,往往会预先制定一份详尽的汽车设计图纸,而后依据该图纸进行汽车生产。
就汽车设计图纸与实际汽车而言,汽车设计图纸旨在定义所有汽车可能具备的共性特征,然而图纸本身并不具备行驶功能,需打造出符合图纸所规定特征的汽车实物,方可使其具备行驶能力,而此汽车实物便构成了一个对象。
由此而言,更为直白地讲,类是一个设计模板,对象则是可供实际应用的实例,确切地说,是先有类,而后才产生对象。
再举一例,假设林强担任人事部经理一职,我向其提出招聘一名秘书的要求,然而他却将李旭招至麾下。如此一来,我内心想必会有所不满,毕竟我所期望的秘书形象应是温文尔雅的,而招来之人若为行事风格粗放、形象与预期不符之人,在我身边举止随意,这自然难以令我接受,势必要做出相应调整。
实际上,秘书这一岗位本身便存在相应标准。需明确的是,同一标准往往存在不同的具体表现形式。例如,就李旭而言,或许有人评价其年逾五旬,在秘书领域颇具威望,业务处理能力颇为出众,这是一种秘书的具体情形,但这并非契合我需求的秘书类型。
由此可见,一个标准会呈现出多样化的实现方式。我所要求招聘的“秘书”,实则是一个标准,也就是类的体现,而依照这一标准开展招聘工作,将符合要求之人招致麾下后,便可安排其履行相应工作职责,若招聘到其他符合标准的秘书,同样可使其承担相应事务处理任务。
由此可知,类不能直接被使用,而对象是能够直接投入应用的,这便是二者的重要区别所在。
在类的构成中,通常包含两个组成部分。其一,我们通常称之为成员属性,有时为了表述简便,也会简称为属性,但准确来讲应是成员属性。其二,我们将其称作成员行为,也常叫做操作方法,其本质是用于定义对象所具备的处理行为。
或许大家对属性的概念不太明晰,在此举例说明。例如,一个人的年龄、姓名等信息,各不相同,对于整体而言,这些便统称为属性。就好比王建因某事被送至派出所,工作人员要求其填写姓名、年龄、身份证号以及所涉事由等详细信息,这便是每个人所具备的具体属性内容。正是这些不同的属性,使得每个人成为独一无二的个体,我们能够轻易区分彼此,也是得益于这些属性的差异。
而所谓操作方法,指的是一些具体的行为动作。比如,一个人可以唱歌、跳舞、游泳、进行运动,像李旭做俯卧撑这类行为,都属于操作方法的范畴。说得直白些,类是对象得以产生的依据,对象则是用于具体的实际应用。那么,对象所能使用的范畴能否超出类所定义的范围呢?
不妨假设一种情况,人通常无法在水下呼吸,若强行将人置于水下,可能一分钟不到,就会被水呛死,甚至被水中生物啃食殆尽。又或者假设人能飞,像从窗户飞出去这样有悖常理的行为,显然并非人类本身所具备的行为能力。
由此可见,类中所定义的方法,才是对象能够使用的方法,类中具备的属性,才是对象可用于进行数据保存的所在。
所以说,这便是类与对象之间的关系,从逻辑顺序来讲,是先有类,而后才有对象。