這個關鍵字只能用來定義類和定義方法, 不能使用final這個關鍵字來定義成員屬性,因為final是常量的意思,我們在PHP里定義常量使用的是define()函數,所以不能使用final來定義成員屬性。
使用final關鍵標記的類不能被繼承;
~~~
1 <?php
2 final class Person
3 {
4 function say() {
5
6 }
7 }
8
9 class Student extends Person
10 {
11 function say() {
12
13 }
14 }
15 ?>
~~~
會出現下面錯誤:
`1 Fatal error: Class Student may not inherit from final class (Person)`
使用final關鍵標記的方法不能被子類覆蓋,是最終版本;
~~~
1 <?php
2 class Person
3 {
4 final function say() {
5
6 }
7
8 }
9
10 class Student extends Person
11 {
12 function say() {
13
14 }
15 }
16 ?>
~~~
會出現下面錯誤:
~~~
1 Fatal error: Cannot override final method Person::say()
~~~
- 1.什么是面向對象
- 2.什么是類,什么是對象,類和對象這間的關系
- 3.什么是面向對象編程呢
- 4.如何抽象出一個類
- 5.如何實例化對象
- 6.如何去使用對象中的成員
- 7.特殊的引用this的使用
- 8.構造方法__construct()與析構方法__destruct()
- 9.封裝性(var與public,protected,private的關系)
- 10.__set(),__get(),__isset(),__unset()四個方法的應用
- 11.類的繼承
- 12.重載新的方法(parent::)
- 13.訪問類型(public,protected,private)
- 14.final關鍵字的應用
- 15.static和const關鍵字的使用(self::)
- 16.__toString()方法
- 17.克隆對象__clone()方法
- 18.__call()處理調用錯誤
- 19.抽象方法和抽象類(abstract)
- 20.PHP5接口技術(interface)
- 21.多態的應用
- 22.把對象串行化serialize()方法,__sleep()方法,__wakeup()方法
- 23.自動加載類 __autoload()函數