面向对象,是当今编程的主流,对于研发人员,可能对面向对象,多多少少的有一些认识,但是有些不常用的或许不是特别清楚。有时也是很有用的。下面就介绍几点知识。
一、final 关键字的一些知识:
1、final 关键字作为方法是可以被子类继承的。如下面:
class A{ final function operation(){ echo 'a'; } } class B extends A{ } $a=new B(); $a->operation();
result :a
2、final 关键字作为类是不可以继承的,如下:
<?php final class A{ final function operation(){ echo 'a'; } } class B extends A{ } $a=new B(); $a->operation();
会有如下错误:
( ! ) Fatal error: Class B may not inherit from final class (A) in D:\wamp\www\examble\index19.php on line 9
3、final 关键字作为的方法不能被子类覆盖,也就是说子类不能有相同的方法,如下
class A{ final function operation(){ echo 'a'; } } class B extends A{ function operation(){ echo 'a'; } } $a=new B(); $a->operation();
会有如下错误:
( ! ) Fatal error: Cannot override final method A::operation() in D:\wamp\www\examble\index19.php on line 12 |
---|
时间: 2024-10-13 15:13:34