PHP - Eigenschaften Überschreiben
Gibt es eine Möglichkeit zu verhindern das überschreiben von Eigenschaften in PHP? Und wenn ja, wie?
- Du meinst, wie public, protected oder private?
- Ich habe eine protected-Eigenschaft in der Klasse Base genannt pbase (als Beispiel) und ich möchte verhindern, dass das überschreiben der Eigenschaft in der untergeordneten Klassen.
- Machen Sie es
private
? - Wenn ich es privat ist, kann ich es nicht nennen, von Kind-Klassen, aber ich will verhindern, dass nur überschreiben.
- Ich glaube, Sie brauchen eine Methode zum abrufen von Ihrem Wert, nicht eine Reine Eigenschaft.
- Bitte mehr Kontext zu Ihrer Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einzige Weg, um so etwas zu tun ist das spielen mit
__set()
in der a-Klasse.Aber,
__set
ist nur für nicht zugängliche Eigenschaften.Für die öffentlichen Eigenschaften, ich glaube nicht, dass es irgendeinen Weg gibt, zu verhindern, überschreiben.
Sollten Sie sich die offizielle Dokumentation: http://fr2.php.net/manual/en/language.oop5.overloading.php
Ich denke, das ist, was Sie wollen:
final
-wie Funktionen in PHP ohne Verwendung einer Methode.final
)."Ja", wenn Sie Sie Konstanten. Finden Sie die Antworten auf Auf die Implementierung einer read-only-member-variable in PHP?, überspringen Sie nicht die Kommentare.
Beispiel:
Ich denke, die Deklaration von Eigenschaften wie
private
auch verhindert das überladen, aber Sie sind auch nicht auf dem absteigenden Klassen.