Überschreiben (objektorientierte Programmierung)

Überschreiben (objektorientierte Programmierung)

Der Begriff Überschreiben (engl. override, wörtlich außer Kraft setzen, überwinden) beschreibt eine Technik in der objektorientierten Programmierung, die es einer Unterklasse erlaubt, eine eigene Implementierung einer von der Oberklasse geerbten Methode zu definieren. Die überschreibende Methode der Unterklasse ersetzt dabei die überschriebene Methode der Oberklasse. Die überschreibende Methode kann jedoch auch die überschriebene Methode aufrufen - ansonsten sind die überschriebenen Methoden über die überschreibende Klasse nicht mehr erreichbar. Das Überschreiben von Methoden ist ein zentraler Bestandteil der Polymorphie in der Objektorientierung. Das Überschreiben ist zu unterscheiden vom Überladen (engl. overload).

Damit die Angabe einer Methode als Überschreiben bezeichnet werden kann, müssen einige Bedingungen erfüllt sein. Die wichtigsten Bedingungen lauten:

  • Die Methoden müssen im Typ ihrer Parameter und in der Länge der Parameterliste exakt übereinstimmen.
  • Der Rückgabewert der Methode muss denselben Typ oder einen Subtyp dieses Typs haben wie der Rückgabewert der überschriebenen Methode.
  • Die überschreibende Methode darf durch Zugriffsmodifikatoren nicht mehr in den Zugriffsrechten beschränkt sein als die überschriebene Methode. Der Zugriff darf jedoch weniger restriktiv sein.
  • Es können nur Instanzmethoden überschrieben werden, keine Klassenmethoden (statische Methoden).
  • Eine Methode gilt nur als überschrieben, wenn sie auch tatsächlich geerbt wurde. Methoden gleichen Namens und mit identischer Signatur, die aber aufgrund von Zugriffsrechten nicht geerbt wurden, gelten nicht als überschrieben.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Vererbung (objektorientierte Programmierung) — Vererbung dargestellt mittels UML. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der… …   Deutsch Wikipedia

  • Klasse (objektorientierte Programmierung) — Klasse ist in der Objektorientierung ein abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhaltens von realen Objekten (Klassifizierung) im Softwaredesign: reale Objekte werden auf die für die Software… …   Deutsch Wikipedia

  • Überschreiben (OOP) — Der Begriff Überschreiben (engl. override, wörtlich außer Kraft setzen, überwinden) beschreibt eine Technik in der objektorientierten Programmierung, die es einer abgeleiteten Klasse erlaubt, eine eigene Implementierung einer von der Basisklasse… …   Deutsch Wikipedia

  • Vererbung (Programmierung) — Vererbung dargestellt mittels UML. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der… …   Deutsch Wikipedia

  • Is-a — Vererbung dargestellt mittels UML. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der… …   Deutsch Wikipedia

  • Methodensignatur — Eine Signatur (oder Methodensignatur) definiert in der Programmierung die formale Schnittstelle einer Funktion. Sie besteht aus dem Namen der Funktion, der Anzahl, Reihenfolge und Typen ihrer Parameter und dem Typ des oder der… …   Deutsch Wikipedia

  • Invarianz (Informatik) — In der objektorientierten Programmierung bedeutet Kovarianz und Kontravarianz, ob ein Aspekt gleichartig der Vererbungsrichtung (kovariant) oder entgegengesetzt zu dieser (kontravariant) ist. Liegt in der Unterklasse keine Änderung gegenüber der… …   Deutsch Wikipedia

  • Kontravarianz (Informatik) — In der objektorientierten Programmierung bedeutet Kovarianz und Kontravarianz, ob ein Aspekt gleichartig der Vererbungsrichtung (kovariant) oder entgegengesetzt zu dieser (kontravariant) ist. Liegt in der Unterklasse keine Änderung gegenüber der… …   Deutsch Wikipedia

  • Kovarianz (Informatik) — In der objektorientierten Programmierung bedeutet Kovarianz und Kontravarianz, ob ein Aspekt gleichartig der Vererbungsrichtung (kovariant) oder entgegengesetzt zu dieser (kontravariant) ist. Liegt in der Unterklasse keine Änderung gegenüber der… …   Deutsch Wikipedia

  • Kovarianz und Kontravarianz — In der objektorientierten Programmierung bedeutet Kovarianz und Kontravarianz, ob ein Aspekt gleichartig der Vererbungsrichtung (kovariant) oder entgegengesetzt zu dieser (kontravariant) ist. Liegt in der Unterklasse keine Änderung gegenüber der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”