我编写了这段代码,作为要求的一部分,我必须使用多态。我想知道这是否会被认为是多态的?
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();
答案 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");