Steuerung des Überschreibens

Nun ist es so, dass man als Autor einer Klasse dem gewahr werden muss, dass ein anderer Entwickler seine Klasse von der eigenen geschriebenen Klasse erben lässt. Mit einem private-Vermerk ist es möglich, Variablen für erbende Klassen zu verstecken. Was ist jedoch zu tun, wenn gefordert wird, dass bestimmte Funktionen unter Garantie im Original bleiben, das heißt nicht überschrieben werden können? Manchmal ist es auch gerade umgekehrt erwünscht, dass eine bestimmte Funktion in einer Unterklasse erst definiert werden soll, während die Überklasse nur deren Signatur bereit stellt. Dies gilt insbesondere für Framework-Entwickler, welche nur den Rahmen eines Programmes zur Verfügung stellen.

Mit Hilfe des final-Schlüsselwortes wird das Überschreiben der Funktion in Unterklassen verboten. Beispielsweise ist es möglich, der Funktion laden() dieses Wort voranstellen, um zu verhindern, dass vom Pickup erbende Klassen diese Funktion überschreiben:

Bei einem Überschreiben würde nun die Fehlermeldung Fatal error: Cannot override final method Pickup::laden() erzeugt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen