php中重写和final关键字的使用
生活随笔
收集整理的這篇文章主要介紹了
php中重写和final关键字的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么把重寫和final放在一起,原因就是一條:final的意思是不可更改的,也就是說final定義的東西是不可改變的,下面具體來說一下。
來看一段簡單的代碼:
1 class BaseClass { 2 final public function test() { 3 echo "BaseClass::test() called\n"; 4 } 5 6 public function moreTesting() { 7 echo "BaseClass::moreTesting() called\n"; 8 } 9 } 10 final class AbcClass{ 11 public function abc(){ 12 echo "abc"; 13 } 14 } 15 /* 16 class Abcd extends AbcClass{ 17 public function abcd(){ 18 } 19 } 20 */ 21 22 class ChildClass extends BaseClass { 23 public function moreTesting($tmp=null) { 24 echo "ChildClass::moreTesting() called\n"; 25 } 26 }代碼中定義了一個類,BaseClass然后ChildClass繼承了這個類并且重寫了這個類中的方法moreTesting,重寫方法的時候方法名一定要一樣,參數可以改變。這時候對象調用的時候就是調用的重寫后的方法。
代碼中注釋了一個地方,如果這段代碼被執行就會報錯,因為AbcClass是final關鍵字定義的類,可以正常被使用,但不能被任何類繼承。
類中final關鍵字定義的方法也不能被重寫,比如BaseClass中的test方法,只能使用,如果重寫會出現錯誤。
總結
以上是生活随笔為你收集整理的php中重写和final关键字的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带你走近AngularJS - 基本功能
- 下一篇: 闪存必须解决的三大问题