# Was ist Subtyping?



## Sindbad1983 (27. Okt 2004)

Kann mir bitte jemand auf verständliche Weise erklären, was Subtyping ist!?! :bahnhof: 
bzw. den Unterschied zu Subclassing!

Danke!


----------



## bygones (27. Okt 2004)

alles ohne Gewähr (da zu lange schon her...)

Subtyping ist, wenn du z.b. als Parameter einer Funktion einen Subtyp der verlangten Klasse angibst.
z.b. 
	
	
	
	





```
public class Vector {
 public void addElement(Object o) {
   ...
 }
}
```
aufrufen kannst du das ja aber z.b. 

```
String einString = "Ein String";
Vector v = new Vector();
v.addElement(einString);
```
d.h. eigentlich verlangt die Methode addElement ein Typ Object. Da aber String von Object erbt kann dieses als Parameter genommen werden (in dem Fall können alle Klassen als Parameter genommen werden, da alle von Object erben).

Allg. Falls B ein SubTyp von A ist kann überall im Code wo A erwartet wird B genommen werden

Subclassing ist meines Wissens einfach Vererbung....


----------

