注册
 找回密码
 注册
江西广告网
查看: 408|回复: 0
打印 上一主题 下一主题

代码简单描述

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-2-20 11:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。 首先我们有这样几个类,电脑,个人电脑,笔记本电脑。 class Computer{ public void turnOn(){ } } 现在有了电脑这个类,那么个人PC,笔记本都是继承他。 class PC extends Computer{ public void turnOn(){ System.out.println("PC has turn on"); } } class NB extends Computer{ public void turnOn(){ System.out.println("NB has turn on"); } } 我们看到,每个类都有一个 turnOn()方法,而在父类中这个方法是空的,子类中各自有不同的实现,到这里可能还不太明显。如果有另外一个方法,要接受这些类作为参数,就像这样 class Test{ public void go(Computer computer){ computer.turnOn(); } } 这个方法接收的是基类参数,当然我们是可以把子类传递给方法的,也应该这么做。 go(new PC()); go(new NB()); 这样他就会去调用具体子类的turnOn()方法,所以这两次调用的输出是不一样的.如果不用基类作为参数,我们想调用每个子类的turnOn()方法,那么就要些两个方法体一样的go()而接收不同的参数的重载。 public void go(PC computer){ computer.turnOn(); } public void go(NB computer){ computer.turnOn(); } 这样些也是正确的,但是这样会产生很多重复代码,而且也不易维护,当然这只是多态中最基本的一个部分,Java多态机制还有很多特性,关于这些建议大家看看 java编程思想(think in java)这本书,里面讲的很详细,这里只是很简单的描述了一下,还望个各位高手不要见笑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表