Hey,
wie kann ich auf private Variablen einer SuperKlasse in einer Subklasse zugreifen? Hier mal ein stark vereinfachtes Beispiel:
Wie kann ich jetzt meinen Apfelbaum wachsen lassen? Mit einer protected Variable in Baum würde es funktionieren, aber wir sollten die Variablen eigentlich private machen. Dann habe ich aber keinen Zugriff mehr.
Und dass man mittels Getter und Setter die Variable einfach so verändern kann, möchte ich eigentlich nicht.
Überdies wüsste ich auch nicht, wie ich in der Methode "wachsen" in Apfelbaum auf einen Getter zugreifen könnte. Baum.getHoehe() würde nicht gehen, ich müsste ja erst ein Objekt erzeugen. Aber Baum ist ja abstract und ich würde auch lieber auf die schon vorhandene Variable zugreifen, anstatt auf eine neu erzeugte...
Ich hoffe ihr versteht mein Problem und danke schonmal fuer die Antworten
wie kann ich auf private Variablen einer SuperKlasse in einer Subklasse zugreifen? Hier mal ein stark vereinfachtes Beispiel:
Java:
public abstract class Baum{
private int alter;
private int hoehe;
public Baum(){
}
public Baum(int alter,int hoehe){
this.alter=alter;
this.hoehe=hoehe;
}
//abstract, weil man weiß nicht, wie schnell ein allgemeiner Baum wächst.
public abstract void wachsen();
public void altern(){
alter++;
}
}
Java:
public class Apfelbaum extends Baum{
public Apfelbaum(){
}
public Apfelbaum(int alter, int groesse){
super(alter,groesse);
}
public void wachsen(){
// ?????
}
}
Wie kann ich jetzt meinen Apfelbaum wachsen lassen? Mit einer protected Variable in Baum würde es funktionieren, aber wir sollten die Variablen eigentlich private machen. Dann habe ich aber keinen Zugriff mehr.
Und dass man mittels Getter und Setter die Variable einfach so verändern kann, möchte ich eigentlich nicht.
Überdies wüsste ich auch nicht, wie ich in der Methode "wachsen" in Apfelbaum auf einen Getter zugreifen könnte. Baum.getHoehe() würde nicht gehen, ich müsste ja erst ein Objekt erzeugen. Aber Baum ist ja abstract und ich würde auch lieber auf die schon vorhandene Variable zugreifen, anstatt auf eine neu erzeugte...
Ich hoffe ihr versteht mein Problem und danke schonmal fuer die Antworten
Zuletzt bearbeitet von einem Moderator: