- 1
- 0
- 约3.06千字
- 约 16页
- 2018-02-24 发布于河南
- 举报
多媒体系统设计03
第3讲:基于虚函数的多态性 多态性(polymorphism) CLine +Draw():void CShape +Draw(): virtual void CEllipse +Draw():void CRectangle +Draw():void 利用虚函数的多态性,程序员可以处理普遍性而让执行环境处理特殊性。 多态性提高了可扩展性:处理多态性行为的软件可用与接收消息的对象无关的方式编写。(利用动态联编的特性)如:插件技术 抽象类为类层次结构中的各个成员定义接口。 纯虚函数没有实体; 纯虚函数必须在派生类中实现。 尽管不能实例化抽象基类的对象,但却可以声明抽象基类的指针。例: 如果 Shape 是抽象基类, 不能:Shape Ob; 但可以: Shape* pOb; 多态性特别适合于实现分层的软件系统。 虚函数的目的是告诉编译器,对于指向基类的指针而言,如果它派生类中有同名的函数,则优先执行派生类中的该函数。(同名覆盖) 基类指针只能访问基类的函数 基类指针可以访问派生类对象的函数 Shape Draw(); Line Draw(); 基 类 指 针 Shape virtual Draw(); Line virtual Draw(); 派生 类 对象 虚函数是为派生类覆盖基类的函数而设定的。 虚函数的设置导致覆盖函数指向的不确定性。(所谓虚函数由此得名)
原创力文档

文档评论(0)