1111面向对象程序设计中多态的表现 ◆面向对象程序设计中多态性表现为以下几种形 式 重载多态:通过调用相同名字的函数,表现出不同 的行为。运算符重载也是一种重载多态 运行多态:通过基类的指针,调用不同派生类的同 名函数,表现出不同的行为。许多面向对象程序设 计的书籍中所说的多态性,就是这种多态 模板多态,也称为参数多态:通过一个模板,得到 不同的函数或不同的类。这些函数或者类具有不同 的特性和不同的行为 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -6- 11.1.1面向对象程序设计中多态的表现 面向对象程序设计中多态性表现为以下几种形 式: 重载多态:通过调用相同名字的函数,表现出不同 的行为。运算符重载也是一种重载多态。 运行多态:通过基类的指针,调用不同派生类的同 名函数,表现出不同的行为。许多面向对象程序设 计的书籍中所说的多态性,就是这种多态。 模板多态,也称为参数多态:通过一个模板,得到 不同的函数或不同的类。这些函数或者类具有不同 的特性和不同的行为
1112多态的实现:联编 ◆一个具有多态性的程序语句,在执行的 时候,必须确定究竟是调用哪一个函 数。也就是说,在执行的时候调用哪个 函数是唯一地确定的。确定具有多态性 的语句究竟调用哪个函数的过程称为联 编( Binding),有的资料也翻译成“绑 定 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -7- 11.1.2 多态的实现:联编 一个具有多态性的程序语句,在执行的 时候,必须确定究竟是调用哪一个函 数。也就是说,在执行的时候调用哪个 函数是唯一地确定的。确定具有多态性 的语句究竟调用哪个函数的过程称为联 编(Binding),有的资料也翻译成“绑 定
1112多态的实现:联编 ◆联编有两种方式:静态联编和动态联 编 ◆在源程序编译的时候就能确定具有多态 性的语句调用哪个函数,称为静态联 编 ◆对于重载函数的调用就是在编译的时候 确定具体调用哪个函数,所以是属于静 态联编 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -8- 11.1.2 多态的实现:联编 联编有两种方式:静态联编和动态联 编。 在源程序编译的时候就能确定具有多态 性的语句调用哪个函数,称为静态联 编。 对于重载函数的调用就是在编译的时候 确定具体调用哪个函数,所以是属于静 态联编
1112多态的实现:联编 ◆动态联编则是必须在程序运行时,才能够确定 具有多态性的语句究竟调用哪个函数。用动态 联编实现的多态,也称为运行时的多态。以上 所述的几种多态形式中,只有运行多态是属于 动态联编。以后我们会看到,在一个循环中的 同一个语句,第一次循环时调用的是一个函 数,第二次循环时调用的是另一个函数。这种 结果,程序不运行是看不到的。所以称为动态 联编 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -9- 11.1.2 多态的实现:联编 动态联编则是必须在程序运行时,才能够确定 具有多态性的语句究竟调用哪个函数。用动态 联编实现的多态,也称为运行时的多态。以上 所述的几种多态形式中,只有运行多态是属于 动态联编。以后我们会看到,在一个循环中的 同一个语句,第一次循环时调用的是一个函 数,第二次循环时调用的是另一个函数。这种 结果,程序不运行是看不到的。所以称为动态 联编
1.2继承中的静态联编
11.2 继承中的静态联编