# Wieso keine Mehrfachvererbung? polymorphie?



## Roar (24. Mrz 2004)

hallo,
wieso gibt es in java keine mehrfachvererbung? ich möchte dass meine klasse von JFrame und von einer slebstgeschrieben anderen klasse ableitet. wieso geht das nicht? mennö..
und wie funktinoeirt polymorphie? verstanden hab ich das jetzt irgendwie schon aber wie realisiere ich das konkret mit einer klasse?

danke
gruß
Roar


----------



## Beni (24. Mrz 2004)

Soviel ich weiss wurde das so gemacht, weil es einfacher ist. Wenn du von zwei Klassen erbst, und beide haben die Methode "hallo()", welche wird jetzt in der Unterklasse aufgerufen? (Naja, die Superkonstrukte aus c++ kennt man ja ...bzw. ihre Querverbindungen, gegen die Swing geradezu einfach ist :? )

Mit den inneren Klassen kannst du aber was ähnliches erreichen:
	
	
	
	





```
public class Out extends JFrame{
  public class In extends MyCoolClass{
  }
}
```
_In_ kann jetzt sowohl auf JFrame als auch auf MyCoolClass zugreiffen.
Ist aber nur ein Hack...

Wenn ich mein theoretisches Wissen zusammenklaube (das dem praktischen hinterherhinkt), hat Polymorphismus zwei Eigenschaften:
- Wo eine Klasse _X _erlaubt ist, ist auch jede Klasse _Y extends X_ erlaubt.
- Der Aufruf einer Methode ist nicht vom Typ der Variable, sondern vom Typ der Referenz abhängig. Also wenn es in X und in Y eine Methode "hallo()" gibt, dann wird die hallo-Methode von Y aufgerufen. 


```
Y y = new Y();
X x = y; // funktioniert
x.hallo(); // ruft das hallo von y auf
```

Und umsetzen... einfach schreiben  8) . Theorie ist doch langweilig.

mfg Beni


----------



## Roar (24. Mrz 2004)

achso versteh schon.
nagut dann lass ich das mit dem ableiten von JFrame halt  :? .
danke


----------

