JAVA开发葵花宝典(15).ppt_第1页
JAVA开发葵花宝典(15).ppt_第2页
JAVA开发葵花宝典(15).ppt_第3页
JAVA开发葵花宝典(15).ppt_第4页
JAVA开发葵花宝典(15).ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章 多态,本章要介绍多态的概念和多态的用法。实际讲解时,仍然会围绕一个如何建立编程思路的问题,讲述如何使用多态。同时通过对大量程序实例的分析,让读者领会实际开发中如何实现类的多态。多态也是面向对象程序语言的核心知识。,10.1 多态的产生,程序员在开发过程中,需要在代码中编写很多函数方法。其实很多方法函数的形式差不多,例如,现实开发中可能会出现下列代码。(具体内容请参照本书),10.2 多态的概念,多态就是拥有多种形态。在Java语言中,多态主要是拥有相同的形式,但不同的参数却实现不同的功能。这很像前面学习过的重载,下面先看一个实例。(具体内容请参照本书),10.2.1 使用多态编写程序,为了作个比较,把上节中的实例使用多态的形式重新编写。(具体内容请参照本书),10.2.2 覆盖的应用,通过下面一个实例,来学习覆盖的应用。(具体内容请参照本书),10.2.3 重载与覆盖的实例对比,重载则是方法的参数不一样,如下列有关重载与覆盖比较的实例。(具体内容请参照本书),10.2.4 覆盖的多态性,覆盖为什么也具有多态性?因为父类的方法在子类中被重写。多态就是拥有多种形态,子类和父类的方法名称相同,只不过完成的功能不一样,所以说覆盖也具有多态性。通过上面的讲述,读者应该对多态有了很清晰的了解,下面再看一个多态的实例,主要是针对对象型的数据。(具体内容请参照本书),10.2.5 传值引用和传址引用,传值引用主要是针对基本数据类型而言。所谓传值引用就是在进行变量的传递过程中,传递的是变量实际的值,是一个新的拷贝,一个变量值不会影响另一个变量值的改变。(具体内容请参照本书),10.3 通过实例熟悉多态用法,通过前面的几节描述,已经了解了多态的实质。本节将通过实例巩固其概念和用法,为以后实际开发奠定良好的基础。这个实例先构造一个类,然后让后面类继承前面的类,最后再将对象输出。先看这个实例的流程,如图10.1所示。(具体内容请参照本书),10.4 绑定,所谓绑定,顾名思义就是将某个东西与另外一个东西捆绑在一起。在Java中,绑定就是对象方法的调用,准确的说,就是对象句柄与方法的绑定。绑定分为静态绑定和动态绑定。,10.4.1 静态绑定,当声明一个方法为“private”、“static”、“final”,或者声明一个构造器时,编译器清楚的知道是调用哪个方法,不存在与实际类型不匹配的现象,这就称为静态绑定。静态绑定不存在多态的问题。,10.4.2 动态绑定,动态绑定只用在程序运行的过程中,其会根据程序传递的参数不同,而调用不同的方法,这种绑定只有在程序运行期间才会发生,即动态绑定有着不确定性。动态绑定存在多态的问题。,10.5 超类,在讲述什么是父类的时候,提到父类又称为超类。本节将重点讲述超类,并详细介绍超类中使用频繁的方法“equals”。,10.5.1 什么是超类,Java程序语言是一门面向对象的程序设计语言,其类库中所有的类都从Object类中继承而来。即Object类是Java类库中所有类的父类,但在书写类的时候,通常不必这样写:(具体内容请参照本书),10.5.2 equals方法的使用,equals方法在object类中,用于测试一个对象与另一个对象是否相等。对对象来说,判断两个对象是否指向同一个内存区域。其实也可以这样说,字符串处理中的“equals”方法覆盖了Object类中的“equals”方法。 (具体内容请参照本书),10.5.3 通用编程,通用编程是什么意思呢?其实在前面讲述超类的时候,也向读者提起过,任何类型的实例都可以使用Object这个超类的变量来替代,因为Object类是所有类的父类。根据多态的原理,可以使用父类的类型代替子类,但是不能用子类的类型代替父类,因为父类中有的方法函数,子类中都有,而子类中的方法函数,父类中不一定都有。,10.6 常见疑难解答,(具体内容请参照本书),10.6.1 动态和静态编译是什么,答:允许对对象进行不同的操作,但具体的操作却取决于对象的类型。 程序在编译的时候,什么函数对哪个对象执行什么操作都已经确定,换句话说叫做静态编译。多态是动态编译,动态编译就是在程序执行的过程中,根据不同对象类型有不同的绑定,其通过一个方法接口,实现多个不同的实现过程。这依赖于编译时编译器对同一个方法不同参数的识别。,10.6.2 绑定与多态的联系是什么,答:绑定(binding)(看起来到像一个音译词):将方法的调用连到方法本身被称为绑定。当绑定发生在程序运行之前,被称做前绑定(earlyb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论