4 a) Grundlagen der Vererbung

Bei den Grundlagen hast du unter “ Klassen und Objekte erstellen“ gelernt wie man einen Bauplan für eine Klasse erstellt.
Unter anderem Hast du den Bauplan für Häuser entwickelt. Hier ein etwas geänderter Bauplan für den Hausbau:

public class Haus{
 
    private String farbe="gelb";
    private int stockwerke=2;
 
    private static int gebauteHaeuser=0;
 
    public Haus(){
        gebauteHaeuser++;
        System.out.println("Soeben wurde das Haus Nummer "+gebauteHaeuser+" gebaut.");
    }
 
    public String getFarbe() {
        return farbe;
    }
 
    public int getStockwerke() {
        return stockwerke;
    }
 
    public void setFarbe(String farbe) {
        this.farbe = farbe;
    }
 
    public void setStockwerke(int stockwerke) {
        this.stockwerke = stockwerke;
    }
}


Jetzt gibt es aber verschiedene Häusertypen.

  • Flachdach
  • Mehrfamilienhaus
  • Hochhaus
  • Bürogebäude
  • etc.

Nun wäre es äußerst umständlich für all diese Typen redundante Informationen zu wiederholen und immer wieder neu zu programmieren.
Hier kommt die Vererbung zum Zug. Alle Gemeinsamkeiten werden in einer Basisklasse zusammengefasst. Die Spezialisierungen greifen auf diese Basisklasse zurück und enthalten nur noch die Programmblöcke, die dieser Gruppe zu eigen ist.

Mit dem Schlüsselwort „extends“ erbt eine Klasse von einer Basisklasse.


Spezialisierung: Flachdach

public class Flachdach extends Haus{
   private String Dachtyp="Flachdach";
   private static int gebauteFlachdachHauser=0;
 
    public Flachdach(){
        gebauteFlachdachHauser++;
        System.out.println("Soeben wurde das Flachdachhaus Nummer "+gebauteFlachdachHauser+" gebaut");
    }
 
    public String getDachtyp() {
        return Dachtyp;
    }
 
    public String dichtigkeitsPruefung(){
        String dicht="ja";
 
        //hier steth der Code zum Prüfen
 
        if(dicht.equals("ja")){
            return "dicht";
        }
        else{
            return "undicht";
        }
 
    }
}

Das Flachdach Haus kann nun alles was das Basis Haus kann:

  • Grundanstrich: Gelb
  • Stockwerke: 2
  • Ausgabe von Farbe und Stockwerken
  • Ändern von Farbe und Stockwerken


Neu hinzugekommen ist

  • der Dachtyp
  • die Dichtigskeitprüfung



Aufgaben

  • Baue vier Häuser, davon zwei mit Flachdach.
  • Erhöhe alle Stockwerke um 1.
  • Prüfe ein Flachdachhaus auf Dichtigkeit.



andere Spezialhäuser

Erstelle eine Bauplan für die anderen „Spezialhäuser“.
Achte darauf, dass jeder neue Bauplan mindestens eine neuen Fähigkeit und eine neue Eigenschaft enthält.

Da ein Bauboom herrscht, will auch deine Firma ein Stück vom Kuchen haben.

Baue Häuser und ändere bestehende.


andere Spezialhäuser

programmieren/java/vererbung/grundlagen.txt · Zuletzt geändert: 10.11.2014 16:46 (Externe Bearbeitung)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0