这个关键字只能用来定义类和定义方法, 不能使用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()函数