Abstrakte Klasse

Aus SibiWiki
Zur Navigation springen Zur Suche springen


Zu diesem Thema gibt es leider noch keinen eigenen Inhalt :(
Nach Recherche verweise ich auf folgende - meiner Ansicht nach - gut geeignete Seite, die danach noch ergänzt wird.

Abstrakte Klasse auf inf-schule

Abstrakte Klassen auf inf-schule.de

Ergänzung

Auf inf-schule (s.o.) wird nicht so richtig deutlich, wie man Abstrakte Klassen eigentlich einsetzt.

Daher folgende Ergänzung:

Geplant ist eine Klasse MobileTeile, in der in einer Liste geometrische Objekte verwaltet werden, die für den Bau eines Mobile gebraucht werden.

Man kann Kreise und Rechtecke hinzufügen.

Damit man weiß, wie viel Pappe man für das Anfertigen von allen geometrischen Objekten braucht, enthält die Klasse eine Methode gesamtFlaeche()

 public class MobileTeile{
   // in die folgende Liste koennen geometrische Figuren eingefügt werden,
   // d.h. Kreise oder Rechtecke.
   private List<GeometrischeFigur> figurenListe;

   public MobileTeile(){
     figurenListe = new List<>();
   }

   public void rechteckHinzufuegen(Rechteck pRechteck){
     // man kann der figurenListe problemlos ein Rechteck hinzufuegen, denn ein Rechteck ist eine GeometrischeFigur!     
     figurenListe.append(pRechteck);
   }

   public void rechteckHinzufuegen(Kreis pKreis){
     // man kann der figurenListe problemlos einen Kreis hinzufuegen, denn ein Rechteck ist eine GeometrischeFigur!
     figurenListe.append(pKreis);
   }
 
   public double gesamtFlaeche(){
     double ergebnis = 0;
     for(figurenListe.toFirst(); figurenListe.hasAccess(); figurenListe.next()){
        // gf kann ein Rechteck oder ein Kreis sein!
        GeometrischeFigur gf = figurenListe.getContent();

        //hier wird - polymorph - die richtige Methode (fuer den Kreis bzw. das Rechteck) aufgerufen!
        ergebnis += gf.berechneFlaeche();
     }
   }
 }

Vergleiche auch...