1 / 5
文档名称:

6.1 重载与程序的多态性设计.doc

格式:doc   页数:5
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

6.1 重载与程序的多态性设计.doc

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

6.1 重载与程序的多态性设计.doc

文档介绍

文档介绍:第六章多态性与虚函数
面向对象的封装性、继承性和多态性是OOP的三大基本支柱。本章将集中讨论类与对象的多态性概念、设计方法和技巧,这是软件系统能否控制给定对象完成所要求各种动作的能力问题。
本章目的:
.理解抽象类与多态性
.掌握虚函数概念和用法
.掌握重载概念和用法
.了解系统的编译多态性与运行多态性
多态性(polymorphism)这个词来自希腊语。是指“多形态”的意思。在某些程序设计语言中,多态性指相同的语言结构可以代表不同类型的实体(如同一变量可以匹配各种类型的语法结构)或者对不同类型的实体进行操作(如同一个函数可以对不同结构的表进行操作)。在强类型语言中,多态性表现为重载(overloading)和类属(genericity),又称为参数化多态(parameterized polymorphism)。在面向对象的概念中,多态性则是指不同对象收到相同消息时,根据对象类不同产生不同动作。C++允许程序员发送相同消息到不同的相关对象,而由对象决定如何完成该动作,并且支持软件选择实现决策的时间。其中运行时的多态是面向对象的程序设计语言所独有的,有人认为,只有与动态联编相结合的多态才是真正的面向对象的多态。在此,仍然取多态性的广泛含义,但概念重点放在运行多态上。
多态性提供了把接口与实现分开的另外一个方法。多态性提高了代码的组织性和可读性,更重要的是它使软件的可扩充性有了充分的提高,使得软件可以较容易地增加新的特性和功能。正如在上一章讲的,可以把基类对象和不同的派生类对象在某些时候视为同一类型,再加上动态联编,就使同一个接口可以在不同的情况下有不同的实现,而实现的增多也不会影响到接口的形态。
重载与程序设计的多态性设计
具体讲,C++支持两种多态性:编译时的多态性和运行时的多态性。编译时的多态主要体现为函数重载以及特殊的函数重载——运算符重载,运行时的多态则由虚函数来完成。在分别讨论这两种多态性之前,首先要进一步搞清重载的概念和用法。
函数重载
(1)为什么要重载函数
在自然语言中,除了一词多义之外,即使是同一个动词在不同的情况下,也有细微的判别,如洗衣服和洗车中的“洗”。这在人类语言中基本上不会引起误会。但在计算机语言中,每个名称在计算机内部必须是唯一的标识符。如打印数就必须根据需要打印的数来定义不同的打印函数。这种定义一方面使得程序的可读性变差,使程序员的工作变得复杂,另一方面也没有反映不同的打印函数之间的共同点。
幸运的是,C++提供了函数重载的机制,通过函数的参数数目或类型所建立的附加定义,使同一函数名在计算机内部具有不同的标识符,从而能够表现不同行为。如打印数可以表示为:
void print(int);
void print(float);
void print(char);
函数重载是一种方便的语言机制,它既可以运用于成员函数,也可以运用于一般函数,成尤其是类构造函数,一般都有是重载的。
(2)重载的方法
定义函数重载,函数名字相同,但所带的参数的个数或类型不同,编译器能够根据参数来调用不同的同名函数。
如果函数的参数类型完全一致,仅仅是返回类型不同,则编译器认为出错。其原因有二:①当函数的返回值不赋给某一个变量时,系统无法判断应调用哪一个函数;②即使当函数返回值赋给一个

最近更新

2025年江西水利职业学院单招职业倾向性测试题.. 41页

2025年江西省九江市单招职业适应性考试模拟测.. 39页

2025年江阴职业技术学院单招职业技能考试模拟.. 39页

2025年河北外国语学院单招职业适应性考试模拟.. 39页

2025年河北机电职业技术学院单招职业技能测试.. 42页

2025年河北青年管理干部学院单招职业倾向性测.. 39页

2025年河南女子职业学院单招职业倾向性测试模.. 40页

2025年河南应用技术职业学院单招职业技能测试.. 40页

2025年河南测绘职业学院单招职业倾向性考试模.. 41页

2025年河南省新乡市单招职业适应性测试模拟测.. 40页

2025年河南经贸职业学院单招职业倾向性考试模.. 39页

2026年保定理工学院单招职测备考题库附答案 43页

2025年浙江工商职业技术学院单招综合素质考试.. 40页

2026年单招实操试题及答案1套 42页

2025年浙江纺织服装职业技术学院单招职业倾向.. 41页

2026年单招测试题河南推荐及答案1套 41页

2026年单招综合素质测试题参考题库必考题 42页

2025年海南经贸职业技术学院单招职业倾向性测.. 40页

2026年厦门工学院单招职业倾向性考试题库附答.. 42页

2025年温州大学单招综合素质考试题库最新 41页

2025年湖北城市建设职业技术学院单招综合素质.. 41页

2025年湖北水利水电职业技术学院单招职业适应.. 40页

2025年湖北省荆州市单招职业倾向性测试模拟测.. 39页

2025年湖北艺术职业学院单招职业倾向性考试模.. 39页

2025年湖南化工职业技术学院单招职业适应性测.. 40页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

九年级家长会课件PPT下载(初三2班) 25页

山东科技版小学英语五年级下册词汇表带音标 4页

年产3000万片硝苯地平缓释片车间设计 40页