[Java] Polymorphism och inheritance
Frågan gäller då det som står i titeln.
Jag är väldigt ny på det här och försöker förstå hur det hela går ihop.
Så här långt har jag kommit:
main-klassen:
public class Hero {
public static void main(String[] arg){
Animal[] AL = new Animal[2];
Gopher gopher = new Gopher();
Unicorn unicorn = new Unicorn();
AL[0]=gopher;
AL[1]=unicorn;
for(Animal x : AL){
System.out.println(x.getName());
x.property();
System.out.println();
}
}
}
superklassen:
public class Animal{
String name;
public void property(){
System.out.println("All animals have got different properties.");
}
public String getName(){
return this.name;
}
}
de sista två:
public class Unicorn extends Animal{
String name = "Unicorn";
public void property(){
System.out.println("*Twinkles beautifully in the morning sun*");
}
}
public class Gopher extends Animal{
String name = "Gopher";
public void property(){
System.out.println("*Turns around dramatically*");
}
}
Det jag vill göra är att ha en lokal variabel i subklasserna (om det heter så på svenska) där metoden för att få fram den finns i superklassen. I det här fallet är det ett namn, men annars skulle det kunna vara en konstant för formler ex. Jag hoppas ni förstår vad jag menar
Skriv gärna om jag gör något annat fel utöver det jag frågar om; jag vill ju inte lära mig att göra fel, så att säga.