2015-07-10 3 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

Мне нужно заменить операции в этих трех строках (.feed, .wash, .exercise) с помощью полиморфизма. Как мне это сделать? – MJW

+0

Они просят вас иметь такой класс, как Animal, который также может кормить, стирать и упражняться, который продлевается лошадью, чтобы сделать это по-другому. – dbillz

ответ

1

Отвечая на вопрос из вашего комментария: «Может кто-то написать, как это должно выглядеть так, что я могу лучше понять его.»

Давайте создадим интерфейс Animal

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

И класс 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, вы могли бы сделать List из Animals и добавить Horses и Dogs одному List!

+0

Спасибо, что нашли время для этого. Это, безусловно, помогает мне понять, что лучше видеть, как это выписано. – MJW

+0

Может кто-нибудь сказать мне, почему, когда я запускаю этот код, он говорит о «незаконном запуске выражения» для строки public class Horse, реализующей Animal? – MJW

+0

@MJW вы должны опубликовать весь класс вверх - возможно, лучше всего сделать это в новом вопросе – KvnH

Смежные вопросы