这会被认为是多态的吗?

时间:2014-03-03 18:40:12

标签: java polymorphism

我编写了这段代码,作为要求的一部分,我必须使用多态。我想知道这是否会被认为是多态的?

runAnimation是Animation类中的一个方法,它将图像打印到屏幕上,这段代码完全属于不同的类。

提前致谢。

Animation dragon1;
Animation dragon2;


dragon1 = new Animation(5, tex.dragon1[0], tex.dragon1[1], tex.dragon1[2], tex.dragon1[3]);
dragon2 = new Animation(5, tex.dragon2[0], tex.dragon2[1], tex.dragon2[2], tex.dragon2[3]);

dragon1.runAnimation();
dragon2.runAnimation();

1 个答案:

答案 0 :(得分:1)

没有

Java中的多态性是指一个类的子类,它们共享许多相同的方法(在父语句中定义),但是实现(覆盖)使其对子类唯一的方法。你刚刚从同一个类(动画)制作了两个对象。

您可能希望在Java中搜索多态(这里是response from the language tutorial)。

这是一个粗略的例子:

public class Mammal {
    private String name;
    public Mammal(String aName) { name = aName; }
    public String getName() { return name;}
    public int getLegs() {return 4; }
    public int getHands() {return 0;}
}

public class FourFootedMammel extends Mammal {
    public FourFootedMammel(String aName) {super(aName);}
}

public class TwoFootedMammal extends Mammal {
    public TwoFootedMammal(String aName) {super(aName); }
    public int getHands() {return 2;}
    public int getLegs() {return 2; }
}   

TwoFootedMammal human = new TwoFootedMammal("Human");
FourFootedMammal dog = new FourFootedMannal("Dog");