| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 726 人关注过本帖
标题:我想问下,泛型能不能实现多态?
只看楼主 加入收藏
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
结帖率:100%
收藏
 问题点数:0 回复次数:6 
我想问下,泛型能不能实现多态?

泛型中,怎么实现多态?
请教高手了?

搜索更多相关主题的帖子: 多态 泛型 
2007-08-21 14:33
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 
ClassA <E extends T>

[此贴子已经被作者于2007-8-22 16:48:51编辑过]

2007-08-21 15:11
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
收藏
得分:0 

还是不太明白,具体怎么样实现??
能不能给个例子啊??

2007-08-22 14:55
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 

这样写的好处就是你的代码只与基类T打交道,具体的细节交给多态机制。比如你现在有个动物类,也就是T类,你从T类继承了好多类,比如狗,小猫,小兔子,等等,你在你的代码里只保存动物类,就可以把小猫,小兔子这些放进去,而后你可以覆盖动物类里的方法,这样你从容器里取出什么都当作动物来对待,调用统一的接口方法。

[此贴子已经被作者于2007-8-22 16:48:00编辑过]

2007-08-22 16:47
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 
以下是引用狂放不羁在2007-8-22 16:47:42的发言:

这样写的好处就是你的代码只与基类T打交道,具体的细节交给多态机制。比如你现在有个动物类,也就是T类,你从T类继承了好多类,比如狗,小猫,小兔子,等等,你在你的代码里只保存动物类,就可以把小猫,小兔子这些放进去,而后你可以覆盖动物类里的方法,这样你从容器里取出什么都当作动物来对待,调用统一的接口方法。

import java.util.*;
abstract class Animal {

public abstract void eat();
}
class Dog extends Animal{

public void eat(){
System.out.println("dog eat");
}
}

class Cat extends Animal{
public void eat(){
System.out.println("cat eat");
}


}
class Zoo<T extends Animal>{

List<T> lists = new ArrayList<T>();

public void addAnimal(T a){

lists.add(a);
}

public void eat(){
Iterator<T> iterator = lists.iterator();
for(;iterator.hasNext(); ){

iterator.next().eat();
}


}


}

public class Client {

public static void main(String [] args){

Zoo<Animal> z = new Zoo<Animal>();
z.addAnimal(new Cat());
z.addAnimal(new Dog());
z.eat();
}
}

2007-08-22 16:52
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 

还是给你写个例子吧,虽然麻烦点,但是你可以看的更清楚。

2007-08-22 16:52
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
收藏
得分:0 

真不知道怎么谢你才好,非常谢谢打!!

2007-08-22 18:21
快速回复:我想问下,泛型能不能实现多态?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030649 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved