java - Override (по учебнику для чайников) не могу сделать. Help!!!
задача из книги: Как решить?
Переопределение Методов
Вы конечно знаете, что рыбы не говорят (по крайней мере он не делают это
громко) . Но наш класс Fish был унаследован из класса Pet, у которого
есть метод say(). Это значит, что вы беспрепятственно можете написать
что-то в этом роде:
myFish.say();
Ну и ну, наши рыбки заговорили… Чтобы избежать этого, в классе Fish
нужно переопределить (override) метод say(), обьявленный в классе Pet.
Это работает так: если вы объявляете в под-классе метод имеющий точно
такой-же заголовок как в его-же супер-классе, Java выполнит метод под-
класса, вместо метода супер-класса. Давайте добавим к классу Fish метод
say().
public String say(String something){
return "Ты чё не знаешь, что рыбы не разговаривают? ";
}
А теперь вызовем метод say() из метода main() класса FishMaster:
myFish.say("Привет");
----------------------------------------------------------
public class Pet {
int возрост;
float вес;
float рост;
String цвет;
public void sleep(){
System.out.println("Спокойной Ночи! До завтра");
}
public void eat() { System.out.println("Я очень голоден, давайте перекусим чипсами! ");
}
public String say(String aWord) {
String petResponse = "Ну ладно! ! " +aWord;
return petResponse;
}
}
---------------------------------------------------------------------
public class PetMaster {
public static void main(String[] args) {
String petReaction;
Pet myPet = new Pet();
myPet.eat();
petReaction = myPet.say("Чик! ! Чирик!! ");
System.out.println(petReaction);
myPet.sleep();
}
}
--------------------------------------------------------
public class Fish extends Pet {
int currentDepth=0;
public int dave(int howDeep){
currentDepth=currentDepth + howDeep;
System.out.println("Ныряю на глубину " + howDeep + " Метра");
System.out.println("яна глубине " + currentDepth + " метров от поверхности");
return currentDepth;
}
}
--------------------------------------------------------------------
public class FishMaster {
public static void main(String[] args) {
Fish myFish = new Fish();
myFish.dave(2);
myFish.dave(3);
myFish.sleep();
myFish.say("Привеи");
}
}