September 2009
Intermediate to advanced
912 pages
48h 11m
German
Sie möchten verhindern, dass andere Entwickler bestimmte Methoden in einer Kindklasse neu definieren oder überhaupt Kindklassen von der Klasse ableiten.
Markieren Sie die entsprechenden Methoden oder Klassen als final:
final public function connect($server, $username, $password) {
// Methodendefinition
}und:
final class MySQL {
// Klassendefinition
}Eigentlich ist die Vererbung eine gute Sache. Trotzdem kann es sinnvoll sein, sie einzuschränken.
Einer der besten Gründe dafür, eine Methode als final zu deklarieren, ist, dass tatsächlich eine Gefahr besteht, wenn jemand sie überschreibt – beispielsweise Datenkorruption, eine Race-Condition oder ein möglicher Absturz oder Aufhänger, ...