Java多态浅谈

正文面临Java初学者,我们在教科书上常常会看到Java是多态的,可是通常的教材只停留在理论上,很少有实际操作。现时把多态个概念用代码简略描述一下子,因为本人水准有限,之所以在所难免有不足之处。

第一我们有这么几个种,计算机,个人电脑,笔记本电脑。

java 代码
一.class Computer{
2.
3. public void turnOn(){
4. }
5.}
现下有了计算机这个种,那么个人PC,笔记簿都是沿袭他。

java 代码
一.class PC extends Computer{
2. public void turnOn(){
3. System.out.println("PC has turn on");
4. }
5.}
6.
七.class NB extends Computer{
1. public void turnOn(){
2. System.out.println("NB has turn on");
3. }
4.}
我们看到,每个种都有一个 turnOn()步骤,而在父类中这个步骤是空的,子类中各自有不同的兑现,到这边或者还不太显然。如果有此外一个步骤,要接受这些类作为参数,就像这么

java 代码
一.class Test{
2. public void go(Computer computer){
3. computer.turnOn();
4. }
5.}
这个步骤接收的是基类参数,当然我们是可以把子类传接给步骤的,也应当这么做。

java 代码
一.go(new PC());
二.go(new NB());
这么他就会去调器具体子类的turnOn()步骤,之所以这两次调用的输出是不一样的.如若不要基类作为参数,我们想调用每个儿类的turnOn()步骤,那么即将些两个步骤体同样的go()而接收不同的参数的满载。

java 代码
一.public void go(PC computer){
2. computer.turnOn();
3. }
4.
五.public void go(NB computer){
1. computer.turnOn();
2. }
这么些也是准确的,但是这么会发生很多反复代码,并且也不易维护,当然这只是多态中最基本的一个一部分,Java多态机制再有很多特点,至于这些提议大家伙儿见见 java编程思维(think in java)这此书,里头讲的很详细,这边只是很简单的描述了一下子,还望个诸位好手不用见笑。

我的异常网

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章