第八章多态性B.ppt

第八章多态性B概要

面向对象技术的多态性反映了客观世界的多态性。多态性体现在面向对象程序设计的许多方面,同时提供了设计的灵活性,因而也增强了类模块的通用性。 面向对象的多态性从实现的角度来讲,可以分为静态多态性和动态多态性两种。 静态多态性是在编译的过程中确定同名操作的具体操作对象的,而动态多态性则是在程序运行过程中动态地确定操作所针对的具体对象的。 这种确定操作具体对象的过程就是联编(binding),也称为绑定。联编是指计算机程序自身彼此关联的过程。也就是把一个标识符名和一个存储地址联系在一起的过程。用面向对象的术语讲,就是把一条消息和一个对象的方法相结合的过程。 多态性的概念 所谓多态性是指同一个接口可以通过多种方法调用,如下图所示。 函数重载和运算符重载就属于静态多态性。 虚函数就是通过动态联编完成的。 函数重载在函数及类的章节中曾做过详细的讨论,所以在本章中,静态多态性主要介绍运算符重载;对于动态多态性,将对虚函数作详细介绍。 8.2 运算符重载 C++中预定义的运算符的操作对象只能是基本数据类型。实际上,对于很多用户自定义的类型(如类),也需要有类似的运算操作。 如:point p1(1,1), p2(3,3)

文档评论(0)

1亿VIP精品文档

相关文档