他們有什麼辦法來防止子類中超類的功能重寫。如果是,請讓我知道。提前致謝。以這種方式防止子類中的超類功能覆蓋
0
A
回答
1
可以使用final
關鍵字:
例子:
class CanBeInherited {
public final function cantBeInherited() {
...
}
}
final class CannotBeInherited {
public function cantBeInheritedEither() {
...
}
}
class Child extends CanBeInherited { } //This is fine
class Child2 extends CanBeInherited {
public function cantBeInherited() {} //Error
}
class Child3 extends CannotBeInherited {} //Error
+0
你能否讓我知道爲什麼這行是錯誤的。 class Child3 extends CantBeParent {} – Sucharitha
+0
因爲'CantBeParent'是'final'因此不能是父類(因爲這是類的最終手段)。 – apokryfos
+0
明白了。謝謝。(我沒有看到child3從cantbeparent延伸,我認爲它是canbeparent)。 – Sucharitha
1
聲明函數在超類
class Foo
{
final public function bar()
{
//Do action A
}
}
相關問題
- 1. 防止子類覆蓋方法
- 2. Java:超類不會覆蓋功能
- 3. 功能沒有被覆蓋的子類
- 4. 調用覆蓋子類功能?
- 5. 如何防止通過子類使用最終方法覆蓋超類PHP
- 6. 覆蓋模板類功能
- 7. 約束一個超類不能覆蓋子類的值
- 8. DownloaderClientMarshaller.Proxy覆蓋超功能
- 9. 如何防止父類的實例變量被python中的子類覆蓋?
- 10. Ruby類繼承:如何防止在子類中覆蓋beeing的公共方法
- 11. 覆蓋父類的子類
- 12. 如何防止在Perl中覆蓋子?
- 13. 覆蓋子類中的init
- 14. 覆蓋actionscript中的子類
- 15. 延長未知的超類裝飾圖案,並覆蓋功能
- 16. 無法在子類中覆蓋超類的方法
- 17. 覆蓋超類中方法的目標C子類
- 18. 覆蓋/覆蓋功能內的功能
- 19. 在超類中覆蓋等於但不在子類中?
- 20. 覆蓋子類中的返回類型
- 21. 防止覆蓋文件中
- 22. 如何防止功能從覆蓋分析中排除?
- 23. 防止在控制器功能中覆蓋查詢 - codeigniter
- 24. 派生自基類和覆蓋功能
- 25. 覆蓋靜止無功在子類斯威夫特
- 26. Java:強制子類覆蓋超類的方法
- 27. 爲什麼子類不會覆蓋其超類變量的值?
- 28. 在子類的其他初始化將覆蓋超類
- 29. 覆蓋java中超類'超類的方法?
- 30. 防止覆蓋ADBannerView的UIPopoverController
最終功能:http://php.net/manual /en/language.oop5.final.php –