请简单说说你对多态、向上转型,向下转型的理解

countstars 2004-08-02 11:12:00
在这里我只有一个三角,不能给高分,呵呵,不过,不了解多态、向上转型,向下转型的含义、使用和用途,可以的话请说一下,谢谢,说多说少无所谓,简单的理解就好。
比如我这样解释重载的:函数名相同,参数和内容不同的多个函数 -_______-!!
...全文
302 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
iversonxk 2004-08-04
多态:每个类都有自己的成员,访问权限,不一定所有人都可以使用它,继承的话可以重载重写父类方法,
向下转型:父类不一定能转成子类类型
向上转型:子类一定能转成父类类型
回复
ztc16627 2004-08-04
通过多态,一种类型可将自己与另一种相似的类型区分开,只要它们都是从相同的基类中衍生出来的。可通过基类实现对那些方法的调用。
取得一个子类对象句柄,并将其作为基类句柄使用的行为就叫作“上溯造型”。
--为什么要上溯造型
若不用上溯造型,就必须为每种新增的子类编写与类紧密相关的方法。这意味着第一次就要求多得多的编程量。
但假如只写一个方法,将基础类作为自变量或参数使用,而不是使用那些特定的衍生类,就会十分简单。

回复
programer23 2004-08-03
楼上讲的很好,很生动!
回复
lovelymaomao 2004-08-02
多态,动物可以是老虎,也可以是狼!
向上. 他们都说了,我就不说了, 总之是安全的
向下,要自己强制转型 (老虎) ,不安全,可能会抛出异常

看一下thinking in java
回复
countstars 2004-08-02
这三种到底是只是一种概念呢,还是如重载一样有具体用途?
多态只是为了说明BaseClass可以具有多个SubClass?
向上转型只是为了描述父类不一定能转成子类类型?
多态向上转型向下转型都只是这些描述的术语?还是有其他意思和用途?
回复
umbrella1984 2004-08-02
多态:每个类都有自己的成员,访问权限,不一定所有人都可以使用它,继承的话可以重载重写父类方法,
向下转型:父类不一定能转成子类类型
向上转型:子类一定能转成父类类型

书中例子:人有男人女人,向下转型的话人不一定只是男人,向上转型的话男人是人。
回复
countstars 2004-08-02
主要是,请说说它们的用途,谢谢。如果能抽象的举个例子,那最好。谢谢。
给描述最简单最通俗易懂的朋友每人50分,分不多,一点敬意,初来Java版。
回复
tiger_wkh52741 2004-08-02
多态:动物 包括:猴子,老虎,等等。。。各自有自己的形态!
动物有老虎 向下转型 说动物不一定指待老虎!
老虎是动物 向上转型 说老虎一定是动物!

不知道能不能理解!?

回复
wanglin824 2004-08-02
多态: java程序员包括j2se的,J2ee的,j2me的。

向上转型: j2ee的 转成 java程序员

向下转型: java程序员 转成 j2ee的
回复
anihc_001 2004-08-02
多态是指同一个方法,被不同的子类调用,能得到不同的响应。
向下转型:将超类对象强制转化成子类对象的操作。
反之就是向上转型。
回复
caiyi0903 2004-08-02
同意 dutzzl() 的看法!
回复
dutzzl 2004-08-02
多态应该强调的是对父类的调用,不用管具体的子类是谁!
比如一个动物,不管是狼还是老虎,得到一个动物对象后,就可以调用他的getRunSpeed()来得到奔跑速度,因此可以这样新建对象,animal a = new wolf();
回复
发动态
发帖子
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
社区公告
暂无公告