正在加载图片...
第7单元类和对象(I) 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与 当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,忽略与主题 无关的细节。例如,在设计一个学生成绩管理系统的过程中,考察学生张三这个对象时,我 们只关心他的班级、学号、成绩等,而他的身高、体重等信息就可以忽略。抽象包括两个方 面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用 者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象 定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修 改和观察。 2.封装:封装是面向对象的特征之一,是对象和类概念的主要特性。封装把过程和数 据封藏起来,对数据的访问只能通过已定义的界面。面向对象技术的基本概念就是现实世界 可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象 旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可 见的,哪些特性用于表示内部状态。通常,应禁止直接访问一个对象的实际表示,只能通过 操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为 信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应 用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。 3.继承:继承是一种联结类与类的层次模型。继承允许和鼓励类的重用,提供了一种 明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类 继承了原来类的特性,新类称为原来类的派生类(子类),而原来类称为新类的基类(父类)。 派生类可以从其基类那里继承方法和成员变量,当然也可以对之进行修改或增加新的方法使 之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好地解决了软件的 可重用性问题。 4.多态性:多态性是指允许不同类的对象对同一消息作出响应。例如同样的加法,把 两个时间加在一起和把两个整数加在一起的内涵肯定完全不同。多态性包括参数化多态性和 包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用 程序函数同名问题。 面向对象程序设计具有许多优点:开发时间短,效率高,可靠性高,所开发的程序更强 壮。由于面向对象编程的编码可重用性,可以在应用程序中大量采用成熟的类库,从而缩短 了开发时间,使应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的 影响更加局部化。 72类与对象 721类的声明 C++类的结构比较复杂,可以将其看成是一种既包含数据又包含函数的数据类型。显然, 描述不同编程对象的类应有不同的内部结构,所以在使用类来声明对象前应先说明其结构 声明一个类的一般形式为: lass<类名> 成员表>; public第 7 单元 类和对象(I) - 132 - 1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与 当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,忽略与主题 无关的细节。例如,在设计一个学生成绩管理系统的过程中,考察学生张三这个对象时,我 们只关心他的班级、学号、成绩等,而他的身高、体重等信息就可以忽略。抽象包括两个方 面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用 者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象 定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修 改和观察。 2. 封装:封装是面向对象的特征之一,是对象和类概念的主要特性。封装把过程和数 据封藏起来,对数据的访问只能通过已定义的界面。面向对象技术的基本概念就是现实世界 可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可 见的,哪些特性用于表示内部状态。通常,应禁止直接访问一个对象的实际表示,只能通过 操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为 信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应 用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。 3. 继承:继承是一种联结类与类的层次模型。继承允许和鼓励类的重用,提供了一种 明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类 继承了原来类的特性,新类称为原来类的派生类(子类),而原来类称为新类的基类(父类)。 派生类可以从其基类那里继承方法和成员变量,当然也可以对之进行修改或增加新的方法使 之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好地解决了软件的 可重用性问题。 4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。例如同样的加法,把 两个时间加在一起和把两个整数加在一起的内涵肯定完全不同。多态性包括参数化多态性和 包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用 程序函数同名问题。 面向对象程序设计具有许多优点:开发时间短,效率高,可靠性高,所开发的程序更强 壮。由于面向对象编程的编码可重用性,可以在应用程序中大量采用成熟的类库,从而缩短 了开发时间,使应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的 影响更加局部化。 7.2 类与对象 7.2.1 类的声明 C++类的结构比较复杂,可以将其看成是一种既包含数据又包含函数的数据类型。显然, 描述不同编程对象的类应有不同的内部结构,所以在使用类来声明对象前应先说明其结构。 声明一个类的一般形式为: class <类名> { private: <成员表>; public:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有