2015-07-10 53 views
-3

我是新来的Java,需要采用多态分为以下行:结合多态性

horse.feed(); 
horse.wash(); 
horse.exercise(); 

我该怎么办呢?

这些代码在这个练习中第一行:

public class Main extends Object { 

    public static void main(String [] args) { 
     Horse horse = new horse(); 
    } 
} 
+1

采用多态性来实现什么? – khelwood

+0

我需要使用多态性来替换这3行(.feed,.wash,.exercise)中的操作。我该如何去做呢? – MJW

+0

他们要求你有一个像动物一样的课程,它也可以喂食,洗涤和锻炼,这是由马延长做不同的做法。 – dbillz

回答

1

在回答您的评论的问题:“可能有人写出来,应该如何看待这样我就可以更好地理解它。”

让我们创建一个接口Animal

public interface Animal { 
    public void feed(); 
    public void wash(); 
    public void exercise(); 
} 

和A类Horse

public class Horse implements Animal { 
    @Override 
    public void feed() { 
     // Do something to feed the horse 
    } 

    @Override 
    public void wash() { 
     // Do something to wash the horse 
    } 

    @Override 
    public void exercise() { 
     // Do something to exercise the horse 
    } 
} 

现在,在你的主要方法,你可以创建一个horse这是一个Animal并调用方法:

Animal horse = new Horse(); 
horse.wash(); 
// Etcetera 

现在我如果你想创建一个类Dog,这也实现了Animal,你可以制作一个ListAnimals并将HorsesDogs加到一个List

+0

感谢您花时间做到这一点。这当然有助于我更好地理解它看到它写出来。 – MJW

+0

有人能告诉我为什么当我运行这段代码时,它说“非法启动一个表达式”的线公共类马实现动物? – MJW

+0

@MJW你应该发布整个课程 - 可能最好是在一个新问题中做到这一点 – KvnH