Skip to main content

So unterstützen dich Java Vererbungstabellen beim Entwurf

Bei der Java Vererbung gibt es zwei Klassenarten bzw. -stufen.
Die Superklassen, welche einen allgemeinen Typen darstellen
Und die spezielleren Unterklassen, welche die Superklasse um bestimmte Funktionen erweitern.

Jetzt ist dieses ganze „Der-erbt-von-dem-Konzept“ mitunter sehr schwierig darzustellen.

Zum Beispiel in einem Werkzeugkoffer.
In einem Werkzeugkoffer befinden sich sämtliche Werkzeuge, von Säge bis Bohrmaschine.

Wie machst du jetzt eine Säge in Java?
Ja – die Säge ist ein Werkzeug.
Die Klasse Säge würde somit die Klasse Werkzeuge erweitern.

Java Vererbungstabellen Beispiel

Aber…
Die Säge hat einen Griff.
Also könntest du eine Klasse Griff anbieten und die Säge würde eine Instanzvariable vom Typ „Griff“ erhalten.
So könnte es gehen.
Java Vererbungstabellen Beispiel Instanzvariablen

Jetzt kann es natürlich auch verschiedene Arten von Griffen geben – und jeder ist besonders.
Also könntest du die Nummer mit dem Griff weiterspinnen.

  • Du könntest eine allgemeine Klasse „Griff“ anbieten.
    Diese stellt den Standardgriff bereit.
  • Und Griffe für Bohrmaschinen erweitert dann die Klasse „Griff“.
  • Griffe für Sägen erweitern dann die Klasse „Griff“ ebenfalls.

Und dann geht es weiter zu den Schutzvorkehrungen.
Sämtliche Werkzeuge haben Schutzhüllen, Kindersicherungen usw.
Also bedeutet dies weitere Klassen und Vererbungshierarchien.

Du merkst sicherlich selbst schon, dass diese ganze Vererbungssache recht schnell – recht komplex werden kann.

Und immer wenn die Dinge zu komplex werden, besinnt man sich auf Reduzierung.
Man fertigt also ein Modell bzw. ein Abbild einer Wirklichkeit an, welche sich auf das Wesentliche beschränkt.

Klar könntest du die ganze Nummer auf einen Flipchart mit Stiften visualisieren.
So ähnlich, wie meine Bilder sind.

Aber sobald das Vererbungsdesign zu groß wird, funktioniert dies auch nicht mehr.

Hier helfen Tabellen.
Denn alle Tabellen:

  • stellen sehr übersichtlich Daten bereit.
  • Es lassen sich Unterschiede auf einen Blick erkennen
  • Und sie stellen eine gewisse Ordnung her.

Tabellen findest du eigentlich überall.
Eines der bekanntesten Tabellen ist das Periodensystem der Elemente.
Diese Tabelle ist so cool, dass sie mittlerweile auch auf Tassen, Duschvorhängen und Handtüchern gedruckt wird.

In diesem Beitrag geht es um Java Vererbungstabellen.
Ich möchte dir zeigen, wie du diese Tabellen entwerfen kannst und worauf dabei zu achten ist.

So kannst du Java Vererbungstabellen entwerfen.

Eigentlich hat jede Tabelle lediglich drei Spalten.

In der ersten Spalte schreibst du deine Klassennamen.
Und in Spalte zwei und drei – die Namen der dazugehörigen Super- und Kindklassen.

Bleiben wir beim Periodensystem.
Ich möchte jetzt wirklich keinen Chemiekurs machen.

Doch die Elemente lassen sich gruppieren.
So gibt es zum Beispiel Eisen, Gold und Silber.
Das sind alles Metalle.

Und es gibt andere Gruppen.
Wie zum Beispiel die Edelgase – mit den Elementen: Helium, Neon oder Radon.

Beide Gruppen unterscheiden sich hinsichtlich ihrer Dichte, ihres Aggregatzustandes oder ihrer Anzahl von Außenelektronen.

Du kannst diese also in Superklassen zusammenfassen.
Zum Beispiele die Klasse Metalle und Gase.

Also würdest du eine absolute Superklasse anbieten, namens Element.
Und hier packst du dann die Dinge rein, welches jedes Element hat.

  • Anzahl der Schalen als Instanzvariable
  • Ordnungszahl usw.

Java Vererbungstabellen entwerfen

Die Klasse Element hätte dann zwei oder mehr Unterklassen.
Zum Beispiel: Gas und Metall.

In den Klassen Gas und Metall könntest du dann alle Eigenschaften reinpacken, welche alle Metalle und Gase gemeinsam haben.

  • Metalle = fest
  • Gase = gasförmig
  • Usw.

Doch zuvor, solltest du immer vorsichtshalber die „IST-ES-EIN-Frage“ stellen.

Die „IST-ES-EIN-Bedingung“ habe ich dir in einem anderen Beitrag schon einmal vorgestellt.
Also dann:

  • Ist ein Gas ein Element – ja
  • Und ist jedes Gas ein Element – ebenfalls ja

Wie sieht es mit Metallen aus? –

  • Ist ein Metall ein Element – auch ja
  • Und ist jedes Metall ein Element – ebenfalls ja.

Somit wird klar, dass Metall und auch Gas von Element erben würden.
Und dann kannst du die ersten beiden Unterklassen ebenfalls eintragen.

Java-Vererbungstabellen-Klassen-entwerfen

Und die Metalle und Gase hätten wiederum Unterklassen.
Zum Beispiel Edelmetalle und Edelgase.
Hier spielen dann Eigenschaften, wie die Besetzung der Außenschale eine Rolle.

Hier die Vererbungstabelle dazu:

Java-Vererbungstabelle-entwerfen

Schauen wir uns die Java Vererbungstabellen noch an einem zweiten Beispiel an.

Zum Beispiel Werkzeuge, wie Säge, Bohrmaschine und Hammer.

Die Superklasse wäre dann die Klasse „Werkzeuge“.
Und diese hätte wiederum Unterklassen für Sägen, Bohrmaschinen und Hämmer.

Java-Vererbung-Tabelle

Falls du dann wirklich jedem Werkzeug noch einen Griff verpassen möchtest.
Und diese Griffe ebenfalls eine Vererbungslinie unterliegen- solltest du diese in einer separaten Tabelle schreiben.
Java Vererbungstabelle Beispiel

Also immer pro Superklasse bzw. pro Vererbungslinie – eine separate Tabelle.
Dadurch bleibt die Sache auch bei hoher Komplexität schön übersichtlich.

Zusammenfassung:

  • Die einzelnen Vererbungshierarchien lassen sich sehr gut in sogenannten Java Vererbungstabellen darstellen.
  • Diese Tabellen besitzen immer drei Spalten.
    In die erste Spalte schreibst du den Namen der Klassen.
    Und in die jeweiligen beiden anderen Spalten die Unterklassen und Superklassen dazu.
  • Durch diese Vererbungstabellen behältst du stets den Überblick auch bei größeren Vererbungsstrukturen.

Ähnliche Beiträge

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher die wenigsten Fehler hatte – […]

So kannst du Eclipse installieren

Eclipse installieren

Das Schöne an Eclipse ist, es läuft auf sämtlichen Betriebssystemen. Eclipse wird einfach auf der Webseite des Herstellers herunter geladen und kann dann installiert werden. Dabei stehen dir verschiedene Versionen zur Verfügung.

Java Übung 21 – Bestimme die Anzahl der Tage

Java Übung Tage

In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. Achte auf Schaltjahre.

So nutzt du das Java Keyword public

Java Keyword public

Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.

Der bedeutende Unterschied zwischen Klassenvariablen und Instanzvariablen

Java Klassenvariablen

Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied? Instanzvariablen stehen einem Objekt zur Verfügung. […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]

So kannst du in den Java Klassen Attribute anlegen

Java Klassen Attribute

Die bisherigen Java Klassen in unserem Einführungsbeispiel besitzen noch keine Attribute. Das ändern wir und legen diese jetzt an. In diesem Beitrag erfährst du: Warum Variablen in deinen Klassen eine entscheidende Rolle spielen. Was es bedeutet eine Variable zu deklarieren. Wo du Attribute in den Java Klassen anlegen darfst und wo nicht. Wie du durch […]

Der Aufbau von Java Klassen

Java Klassen Aufbau

Jedes Java Programm besteht aus Java Klassen. Doch wie sind diese aufgebaut? Wie setzt sich die Struktur zusammen? Wo befinden sich Klassen hierarchisch? Was kommt in die Klassen rein und wie wird es integriert? Das sind die Fragen, welche ich in diesem Artikel beantworten werde. Doch bevor wir bei den Klassen ansetzen, müssen wir eine […]