可我浪费着我寒冷的年华

跟着百度学PHP[4]OOP面对对象编程-11-Final关键字

Final的作用就是不允许儿子继承夫类,也就是说不能够对父类在进行调用,否则将会出错。 

目录---------------------------------------------------------------------------------------------

00X1 对父类的属性或方法进行重写(直接在子类当中写一个与夫类相同的属性或者方法)案例一

00x2 不允许子类重写属性或者方法(在属性或方法处加final)案例二

00x3 不允许子类重写父类(直接在类那里加final)案例三

==》总的来说就是在属性或方法出加final就是不允许对属性或方法进行重写。同理在类出加final加即不允许对父类进重写。

-----------------------------------------------------------------------------------------------

 

00x1 子承父的重写(案例一)

<?php 
class Fulei
{
    function test1(){
        echo "This is test1";
    }
    function test2(){
        echo "This is test2";
    }
}
class Zilei extends Fulei{
    function test1($name){ #对test1进行重写,这里不管参数是什么,只要方法名与父类的一致就会被重写
        echo "励志成为网络安全大牛!".$name."\n";
    }
}
    $object=new Zilei();
    $object->test1("张三");
 ?>

输出如下图所示

如图所示,成功的将其重写了。

 

00x2 不允许子类重写属性或者方法(案例二)

<?php 
class human
{
    final public function test(){     #注意我在此行加了final 不允许子类重写该方法。
            echo "this is 1";
          }
          public function test2(){
            echo "this is 2"; 
          }
}

class Studen extends human
{
    public function hello()
    {
        echo "hello world";
    }
    public function test()   #对父类进行重写!
    {
        echo "我要做一个大牛!";
    }
}
    $one=new Studen;
    $one->test();

 ?>

就会爆出如下错误:

( ! ) Fatal error: Cannot override final method human::test() in D:\wamp\www\1.php on line 22

 

 00x3 不允许子类重写属性或者方法(案例三)

<?php 
final class human#注意我此行加了final 不允许子类重写该类。
{
          public function test(){     
            echo "this is 1";
          }
          public function test2(){
            echo "this is 2"; 
          }
}
class Studen extends human
{
    public function hello()
    {
        echo "hello world";
    }
    public function test()   #对父类进行重写!
    {
        echo "我要做一个大牛!";
    }
}
    $one=new Studen;
    $one->test();
 ?>

爆出如下错误:

 

( ! ) Fatal error: Class Studen may not inherit from final class (human) in D:\wamp\www\1.php on line 22

 

 

THE END


 

posted @ 2016-12-09 19:45  珍惜少年时  阅读(226)  评论(0编辑  收藏  举报
可我浪费着我寒冷的年华