8章多态性 H 第8章多态性 8.1多态性概述 8,2运算符重载 83虚函数 8.4抽象类 BACK
第8章 多态性 第8章 多态性 8.1 多态性概述 8.2 运算符重载 8.3 虚函数 8.4 抽象类
8章多态性 H 81多态性概述 所谓多态性是指同一个接口可以通过多种方法调 用,如图8-1所示。通俗地说,多态性是指用一个相同 的名字定义不同的函数,这些函数的执行过程不同, 但是有相似的操作,即用同样的接口访问不同的函数 比如,一个对象中有很多求两个数中最大值的行为, 虽然可以针对不同的数据类型,写很多不同名称的函 数来实现,但事实上,它们的功能几乎完全相同。这 时,就可以利用多态的特征,用统一的标识来完成这 些功能
第8章 多态性 8.1 多态性概述 所谓多态性是指同一个接口可以通过多种方法调 用,如图8-1所示。通俗地说,多态性是指用一个相同 的名字定义不同的函数,这些函数的执行过程不同, 但是有相似的操作,即用同样的接口访问不同的函数。 比如,一个对象中有很多求两个数中最大值的行为, 虽然可以针对不同的数据类型,写很多不同名称的函 数来实现,但事实上,它们的功能几乎完全相同。这 时,就可以利用多态的特征,用统一的标识来完成这 些功能
8章多态性 H 用户 单一接口名称 方法1 方法n 图8-1多态性为用户提供单一接口示意图
第8章 多态性 图8-1 多态性为用户提供单一接口示意图
H 8章多态性 面向对象的多态性从实现的角度来讲,可以分为 静态多态性和动态多态性两种。静态多态性是在编译 的过程中确定同名操作的具体操作对象的,而动态多 态性则是在程序运行 过程中动态地确定操作所针对的具体对象的。这 种确定操作具体对象的过程就是联编( binding),也称为 绑定。联编是指计算机程序自身彼此关联的过程。也 就是把一个标识符名和一个存储地址联系在一起的过 程。用面向对象的术语讲,就是把一条消息和一个对 象的方法相结合的过程
第8章 多态性 面向对象的多态性从实现的角度来讲,可以分为 静态多态性和动态多态性两种。静态多态性是在编译 的过程中确定同名操作的具体操作对象的,而动态多 态性则是在程序运行 过程中动态地确定操作所针对的具体对象的。这 种确定操作具体对象的过程就是联编(binding),也称为 绑定。联编是指计算机程序自身彼此关联的过程。也 就是把一个标识符名和一个存储地址联系在一起的过 程。用面向对象的术语讲,就是把一条消息和一个对 象的方法相结合的过程
8章多态性 H 所谓消息,是指对类的成员函数的调用。不同的 方法是指不同的实现,也就是调用了不同的函数。按 照联编进行阶段的不同,联编方法可以分为两种:静 态联编和动态联编。这两种联编过程分别对应着多态 的两种实现方式。联编工作在编译连接阶段完成的情 况称为静态联编。在编译、连接过程中,系统就可以 根据类型匹配等特征确定程序中操作调用与执行该操 作的代码的关系,即确定某一个同名标识到底是要调 用哪一段程序代码。函数重载和运算符重载就属于静 态多态性
第8章 多态性 所谓消息,是指对类的成员函数的调用。不同的 方法是指不同的实现,也就是调用了不同的函数。按 照联编进行阶段的不同,联编方法可以分为两种:静 态联编和动态联编。这两种联编过程分别对应着多态 的两种实现方式。联编工作在编译连接阶段完成的情 况称为静态联编。在编译、连接过程中,系统就可以 根据类型匹配等特征确定程序中操作调用与执行该操 作的代码的关系,即确定某一个同名标识到底是要调 用哪一段程序代码。函数重载和运算符重载就属于静 态多态性