欢迎访问北大青鸟鲁广校区~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
北大青鸟鲁广校区

17740513250

三分钟了解北大青鸟

×
  • 数据加载中...

动态性语言在Java编程中的运用

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区发布时间:2012-10-13 09:57:45
导读:多态性是面向对象编程三个重要特征之一。方法的重载和方法的重写都是 Java 编程多态性的一种表现。多态在Java编程的实际应用中经常会用到,所以学习Java编程语言就有必要了解多态。

多态在现实世界中比比皆是。从描述人的性格和行为的“多面人”、“多面手”,到具有综合功能的产品“三合一”、“四合一”,都指多态性特征。多态使我们的世界更绚丽多彩。计算机的应用应该是多态的典型实例。

一、多态的概念 所谓多态是指根据引用对象类型的不同,当不同的引用对象调用同一个方法时,会产生不同的行为。举一个例子来说,例如一个软件公司的软件开发小组由项目经理、项目组长、软件开发工程师等人员组成,上班时只要发出开始工作的指令,那么项目经理就会去做有关项目整体设计和与客户沟通的工作,项目组成会负责检查模块代码的工作,软件开发工程师会负责代码编写的工作。只要项目组开始工作了,那么项目组中的每一个员工就都会完成自己的本职工作。这里项目经理、项目组长、软件开发工程师可以看作是一个个对象,发出开始工作的指令可以看作是一个方法的调用。

从程序设计的角度来看,当项目经理、项目组长、软件开发工程师这些对象接收到开始工作这个方法调用的时候,不同的对象对这个方法调用会有不同的行为。方法的重载和方法的重写就是多态的两种表现形式。重载是相对于一个类中的方法而言,类中的这些方法需要有相同的方法名和不同的参数列表,它可以认为是单个类中多态性的一种表现。方法的重写是相对于继承中子类和父类之间的方法而言,子类可以重写父类中的方法,子类中方法的返回值类型、方法名、参数个数以及参数类型要与父类中继承的方法完相同,这可以认为是子类和父类间多态性的一种表现。再例如,如果要计算几何物体表面积和体积。如何在程序中有效地计算众多不同几何体的表面积computeArea()?其实这是解释多态性经典的例子。计算表面积的方法,如computeArea(),包括其他类似的方法,如computeVolume(),draw(),等等,都可应用多态来解决。因为这些方法都可以针对不同的几何体,进行运算和操作。即:形态不一、方法相同、内容多样。

二、多态的好处 由上面的举例,可以知道多态给我们带来了好处,可以归纳为以下几点:

1.可替换性。多态对已存在的代码具有可替换性。

2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。

3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。

4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。

5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。

三、多态在软件开发中的应用多态是基于继承的。下面以一个软件开发项目的小组为例,来看一下在类的继承中如何实现多态。无论是项目经理、项目组长还是软件开发工程师,他们都是公司的员工,所以先定义一个员工类Employee,作为他们的父类。在该类中定义一个构造方法和一个表示员工工作的方法work。该构造方法有一个String类型的参数表示员工的职位以区分项目组成员。

下面来总结一下,在使用类的继承实现多态时有以下几个地方是需要注意的:在实现多态时,要通过父类的变量来完成对子类对象方法的调用。被调用的方法必须是父类中存在并且在子类中被重写的方法。父类变量可以引用子类的不同类型的对象,但不能用该变量访问子类中新添加的属性和方法。

四、多态使Java编程语言的灵活性、可扩展性、代码的复用性得以实现。深入理解多态的概念,有助于正确使用多态,设计出更加高效、灵活、健壮的Java编程程序。

本文标题:#动态性语言在Java编程中的运用#,宏鹏发布于北大青鸟鲁广校区。多态性是面向对象编程三个重要特征之一。方法的重载和方法的重写都是 Java 编程多态性的一种表现。多态在Java编程的实际应用中经常会用到,所以学习Java编程语言就有必要了解多态。

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:https://www.027hpedu.com/wenda/java/1756.html

大家都在看的大家都在看的Java开发

热门课程

更多>>
  • 数据加载中...
7天免费试学

7天课程免费试学

实战学习干货限时领取

行业解读+大咖授课+项目实操
10年以上业内强师集结,手把手带你蜕变精英!

点我咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:13125006136

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 验证码 获取验证码 *
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。