Ober und Unterklasse

JavaAnfänger1235

Bekanntes Mitglied
Hallo,
ich habe die Klassen Schlafzimmer, Wohnzimmer gegeben und soll davon die Oberklasse Zimmer bilden und jeweils Schlafzimmer und Wohnzimmer davon ableiten:

Java:
public class Wohnzimmer {
private int laenge , breite ;
private int anzahlFenster ;

public Wohnzimmer ( int iLaenge , int iBreite , int iAnzahlFenster ) {

laenge = iLaenge ;
 breite = iBreite ;
 anzahlFenster = iAnzahlFenster ;
}

 public int getFlaeche () {
 return laenge * breite ;
 }

 public String toString () {
 return getFlaeche () + "qm mit " + anzahlFenster + " Fenster (n)" + "\n";
 }
}

 public class Schlafzimmer {
 private int laenge , breite ;
boolean durchgangsZimmer ;

 public Schlafzimmer (int iLaenge , int iBreite , boolean bDurchgangsZimmer ) {
 laenge = iLaenge ;
 breite = iBreite ;
 durchgangsZimmer = bDurchgangsZimmer ;
 }

 public int getFlaeche () {
 return laenge * breite ;
 }

 public String toString () {
 return getFlaeche () + "qm als " +
 (( durchgangsZimmer ) ? " Durchgangszimmer " : " einzelner Raum ") + "\n";
}
 }


Dabei würde ich in Zimmer die getFläche - Methode reinnehmen und als Konstruktor Länge und Breite festlegen. Wie mache ich es jedoch mit der toString-Methode. Dort habe ich ja jeweils was anderes. Wie kann ich die verallgemeinern oder geht das nicht?
 
Nun ja du könntest in der Oberklasse getFlaeche() + "qm " in der toString() Methode zurückgeben und den Rest dann in den Unterklassen anhängen.
 
Dann würde meine Oberklasse so aussehen:

Java:
public class Zimmer {

   
    private int laenge , breite ;
    private int anzahlFenster ;
   
     public Zimmer ( int iLaenge , int iBreite  ) {
     laenge = iLaenge ;
     breite = iBreite ;
   
     }
   
     public int getFlaeche () {
        
       return laenge * breite ;
    }
    
     public String toString () {
          return getFlaeche () + "qm mit ";
         }
       
    
    

   
}


Die Unterklasse ist irgendwie falsch:
Wieso funktioniert folgendes nicht?
Java:
ublic class Wohnzimmer extends Zimmer {
   
   
   
      public Wohnzimmer(int iLaenge , int iBreite,iAnzahlFenster) {
      super(iLaenge, iBreite);
     
      anzahlFenster = iAnzahlFenster ;

}
}
 
Wie hänge ich in der Unterklasse an der toString-Methode richtig an?
Code:
public class Wohnzimmer extends Zimmer {
   
      int anzahlFenster;
   
      public Wohnzimmer(int iLaenge , int iBreite, int iAnzahlFenster) {
      super(iLaenge, iBreite);
     
      anzahlFenster = iAnzahlFenster ;

}
     
      public String toString () {
         super.toString ()  + anzahlFenster + " Fenster (n)" + "\n";
         }
}
 

Zurück
Oben