Warum kann man nur von einer Klasse erben?

finesim

Mitglied
Hallo liebes Forum,
Ich bin zur Zeit dabei ein Lernprogramm für Griechisch zu schreiben, und als ich dann einen Lektionsauswahldiolog schreiben wollte, der von meiner abstrakten Grundform und JDialog erbt,
ging das nicht und ich suchte bei Google und dort stand, dass das ein Designfehler in Java ist.
Ist das wirklich ein Fehler oder gewollt? Wenn es nicht gewollt ist, wird es dann verbessert?
 

tfa

Top Contributor
Das ist kein Fehler sondern ein Feature. In Java hat man auf Mehrfachvererbung verzichtet, da man sich hiermit viele Probleme einhandeln kann.
 

Gossi

Bekanntes Mitglied
Das einzige was geht wäre sowas:

NummerEins extends JPanel

NummerZwei extends NummerEins

NummerDrei extends NummerZwei


So hat man in NummerDrei alle Mehtoden/Variabeln von:
- JPanel
- NumemrEins und
- NummerZwei

Nicht schön, man sollte auch drauf verzichten, aber so isses....
 
S

SlaterB

Gast
siehe etwas
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.8 Vererbung
z.b.
Nehmen wir an, die Klassen O1 und O2 deklarieren beide eine öffentliche Methode f(), und U ist eine Klasse, die von O1 und O2 erbt. Steht in U ein Methodenaufruf f(), ist nicht klar, welche der beiden Methoden gemeint ist. In C++ löst der Scope-Operator :):) das Problem, indem der Entwickler immer angibt, aus welcher Oberklasse die Funktion anzusprechen ist.

wobei das mit Interfacen in Java auch nicht viel besser aussieht,
außer dass man vielleicht noch den Fehler übersieht, die Methode für das eine Interface mit Bedeutung 1 implementiert,
dann aber nicht bedenkt dass sie im anderen Interface was ganz anderes machen soll

theoretisch könnte Java auch die Mehrfachvererbung zulassen nur nur meckern sobald es Probleme gibt
 
Zuletzt bearbeitet von einem Moderator:

Empire Phoenix

Top Contributor
zb wenn a und b die selbe methode haben, wird dann von a oder b die aufgerufen?

Wenn dein object c a und b extended, wird dann erst der constructor von a oder von b aufgerufen? Was wenn beim entladen(zb datenbankverbindungen) a vor b entladen werden muss, da a was von b bracht zum sauberen abschluss.

Die liste lässt sich lange weiterführen.
Ich empfehle dir Delegation und Interfaces anzugucken, damit kann man funktional das selbe erreichen.
 

tsitra

Bekanntes Mitglied
Die Mehrfachvererbung, wie sie in C++ möglich ist, wird manchmal

"Deadly Diamond of Death," genannt, denn wenn man den Mehrfach-Ableitungsprozess
grafisch darstellt, sieht das so bischen nach einem Diamant aus.

Jedenfalls wird es als böse angesehen!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
Messoras Klassen Sämtliche Variablen einer Klasse übernehmen Allgemeine Java-Themen 6
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
N Automatisches einfügen einer selbst generierten ID in Klasse mit Annotation Allgemeine Java-Themen 8
3 OOP Instanzen aus einer Klasse persistent speichern. Allgemeine Java-Themen 9
D Eclipse Methode einer anderen Klasse aufrufen Allgemeine Java-Themen 14
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
T Klassen Mehoden einer Klasse erweitern Allgemeine Java-Themen 5
T Klassen Instanz einer Klasse ausserhalb des Jar Allgemeine Java-Themen 2
G Fehler beim instanzieren einer Generischen Klasse Allgemeine Java-Themen 5
S Tool um mehrere Klassen in einer Klasse vereinen? Allgemeine Java-Themen 6
D ClassLoader für Variablen einer Klasse setzen Allgemeine Java-Themen 24
T Alle Instancen einer Klasse auflisten Allgemeine Java-Themen 13
Gossi Threads mit unterschiedlichen Aufgaben in einer Klasse? Allgemeine Java-Themen 9
Z Socket Aufruf einer Klasse in einer anderen Klasse Allgemeine Java-Themen 6
M Typ einer inneren Klasse mit reflections finden Allgemeine Java-Themen 7
C Auf eine Methode von einer anderen Klasse aus ändern? Allgemeine Java-Themen 4
E Collections Collections die Subojekte einer Klasse enthält? Allgemeine Java-Themen 7
D von einer Klasse auf Komponente in anderer Klasse zugreifen Allgemeine Java-Themen 5
A variable aus einer anderen klasse verändern Allgemeine Java-Themen 5
Kr0e Reflection - Instanz einer Klasse erstellen, ohne Default-Constructor Allgemeine Java-Themen 15
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
C Variablen Variable einer Klasse in einer anderen Klasse Nutzen Allgemeine Java-Themen 8
P Threads Thread innerhalb einer Klasse - ohne Extra Klasse Allgemeine Java-Themen 9
M Problem beim schreiben einer eigene generische Klasse Hashtable Allgemeine Java-Themen 11
A Listener für constructor einer bestimmen Klasse Allgemeine Java-Themen 9
M Problem beim schreiben einer eigene generische Klasse LinkedList Allgemeine Java-Themen 34
P Variablen in einer anderen Klasse auf Änderungen überwachen Allgemeine Java-Themen 12
M Neue Instanz/Kopie einer unbekannten Klasse Allgemeine Java-Themen 7
D Referenz einer Funktion aus einer anonymen Klasse? Allgemeine Java-Themen 3
W Erweitern einer Klasse mit Generics Allgemeine Java-Themen 8
J InvocationException im Thread (innerhalb von call() einer Callable Klasse) Allgemeine Java-Themen 2
N JAR Datei ausführen unter Angabe einer speziellen Klasse Allgemeine Java-Themen 2
P Reflection - Wie rufe ich die Felder einer Klasse in einer Methode der Basisklasse? Allgemeine Java-Themen 4
C Aufruf einer Methode einer anderen Klasse Allgemeine Java-Themen 14
P Objekt einer Klasse erzeugen, die als String vorliegt Allgemeine Java-Themen 3
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
multiholle Objekt einer Klasse anhand eines String erzeugen Allgemeine Java-Themen 3
S Identische Methoden in einer Klasse Allgemeine Java-Themen 2
G Objekt einer inneren Klasse als Listener Allgemeine Java-Themen 3
J Instanz-Felder einer Klasse initialisieren Allgemeine Java-Themen 6
G Thread einer anderen Klasse Allgemeine Java-Themen 8
reibi Klassenpfad mal anders - dynamisches Laden einer Klasse Allgemeine Java-Themen 7
G Aufruf einer Methode wenn Klasse noch nicht existiert Allgemeine Java-Themen 3
S toString() für alle Member einer Klasse. Allgemeine Java-Themen 6
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
G generische Klasse als Parameter einer generischen Klasse Allgemeine Java-Themen 5
V Aus String -> Objekt einer Klasse erzeugen Allgemeine Java-Themen 7
S Problem mit einer Klasse Allgemeine Java-Themen 10
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
G genauen Typ einer generischen Klasse zur Laufzeit ermitteln Allgemeine Java-Themen 2
K Suche alle Objekte einer bestimmten Klasse Allgemeine Java-Themen 2
L Auflistung aller Methoden einer Klasse Allgemeine Java-Themen 9
E Array einer anonymen Klasse Allgemeine Java-Themen 6
M Beim Laden einer Klasse implizit weitere Klassen mitladen Allgemeine Java-Themen 3
G Generics: Instanzieren einer Klasse in einer Methode. Allgemeine Java-Themen 2
B objekt einer klasse dynamisch erzeugen Allgemeine Java-Themen 6
S Hinzufügen einer Klasse! Allgemeine Java-Themen 3
W Probleme beim Ausführen einer Java Klasse auf Kommandozeile Allgemeine Java-Themen 17
T Instanz einer Interface abgeleiteten Klasse erzeugen Allgemeine Java-Themen 3
B Instanzen einer Klasse als Array Allgemeine Java-Themen 7
C Objekte einer Klasse zählen Allgemeine Java-Themen 25
M vererbung einer "selbst-instanzierungs-klasse" Allgemeine Java-Themen 16
V Objekt einer Klasse, deren Name nur als String vorhanden Allgemeine Java-Themen 4
K Testen einer Klasse mit File Objekt als Parameter Allgemeine Java-Themen 6
P Maximale Größe einer Klasse Allgemeine Java-Themen 9
M Überprüfen einer zur Laufzeit geladenen Klasse Allgemeine Java-Themen 3
M Rückgabewert einer Klasse Allgemeine Java-Themen 4
G jar-Name einer Klasse Allgemeine Java-Themen 9
H Funktion aus einer anderen Klasse ausführen Allgemeine Java-Themen 3
D Gehts praktischer? Thema:Verschiedene Instanzen einer Klasse Allgemeine Java-Themen 3
G mit reflection an die felder einer klasse rankommen Allgemeine Java-Themen 4
M Felder + Werte einer Klasse auslesen Allgemeine Java-Themen 6
B Absolute Paf einer Klasse in dieser dynamisch auslesen? Allgemeine Java-Themen 5
S Klasse einer Methode übergeben und überprüfen Allgemeine Java-Themen 7
G Panel einer Klasse in einer anderen anzeigen Allgemeine Java-Themen 4
A Eine Datei in einer Klasse Allgemeine Java-Themen 14
M Sourcecode einer API-Klasse Allgemeine Java-Themen 4
A Was haltet ihr von einer standardisierten Main Klasse? Allgemeine Java-Themen 4
M Class-Object einer Klasse Allgemeine Java-Themen 4
G Nur bestimmte Variablen einer Klasse übernehmen Allgemeine Java-Themen 4
J Instanz einer inneren Klasse Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben