.

Programmieren lernen Schritt für Schritt zum ersten Programm. Eine leichte Einführung in die Programmierung

作者:
Programmieren lernen
ISBN :
3836214628
出版日期:
2010-10-20 00:00:00
语言:
国家地区:
.
Objektorientierte Programmierung6.5return 4 * Length; } }Zusammengefasst: Um eine Methode neu zu definieren, mssen Sie die Basisklasse in der Methode zum berschreiben freigeben. Dies machen Sie mit dem Schlsselwort virtual. Bei der abgeleiteten Klasse, die die Methode berschreiben soll, verwenden Sie das Schlsselwort override.berschreiben ist nicht berladen Verwechseln Sie das berschreiben einer Methode nicht mit dem berladen einer Methode! Bei der berladung existiert eine Methode innerhalb einer Klasse mehrmals �allerdings mit unterschiedlicher Parameterliste. Beim berschreiben einer Methode wird die Implementierung der Methode bei der abgeleiteten Klasse ausgetauscht.6.5.2PolymorphismusPolymorphismus (auf Deutsch Vielgestaltigkeit �keine Angst, es ist nicht notwendig, dass Sie sich diesen Begriff merken) bedeutet, dass gleichnamige Methoden unterschiedlich reagieren, je nachdem, von welcher Klasse das Objekt stammt, mit dem sie aufgerufen werden. Ein Polymorphismus existiert erst dann, wenn Objekte voneinander abgeleitet sind, also wenn ein Objekt vom anderen erbt. Denn dann knnen Sie Methoden der Basisklasse berschreiben und berall dort, wo ein Objekt der Basisklasse erwartet wird, auch ein abgeleitetes Objekt bergeben. Ist die Methode jedoch berschrieben, kann die Methode etwas anderes machen als in der Basisklasse. Wenn Sie sich nun an das vorangegangene Beispiel mit dem Quadrat und Rechteck erinnern, heit das einerseits, dass berall dort, wo Ihr Programm ein Quadrat erwartet, auch ein Rechteck bergeben werden kann, und gleichzeitig bedeutet es, dass �wenn Sie zum Beispiel die Methode GetSurface aufrufen �die Implementierung je nach bergebenem Objekt anders aussehen kann.static void Main(string[] args) { //Erzeuge Quadrat Square mySquare1 = new Square(); mySquare1.Length = 5; //Erzeuge Rechteck Rectangle myRectangle1 = new Rectangle(); myRectangle1.Width = 5; myRectangle1.Length = 3; PrintInformation(mySquare1);175
本书内搜索
序号 页码 相关内容
您还未搜索