PHP面向对象中final定义的类如何使用?PHP类中final使用方法实例代码

在前面学习了使用static关键词来定义静态变量、静态方法,而在php的面向对象当中还有很多关键词都可以来定义类,而final关键词就是其中的一个,那么final关键词在我们定义面向对象类的时候,是什么意思呢?

php面向对象中final定义的类如何使用?PHP类中final使用方法实例代码!在前面学习了使用static关键词来定义静态变量、静态方法,而在php的面向对象当中还有很多关键词都可以来定义类,而final关键词就是其中的一个,那么final关键词在我们定义面向对象类的时候,是什么意思呢?在面向对象类中又有什么作用呢?

PHP面向对象中final关键词是什么?

final在中文的意思是最终、最后的。在PHP面向对象中被final修饰过的类或者是类中的方法,就是最后、最终的类和方法。

PHP面向对象中final的作用

根据以上对final在PHP面向对象中的使用说明,我们可以得到以下结论,如果我们在一个类或者是一个方法前使用final关键词对其进行修饰,那么我们后面就不能再在继承这个类和方法,否则就会报错。

PHP面向对象中final如何使用

在面向对象中,如何使用final关键词呢?当我们不想让后面的类继承这个类的时候,我们就可以在这个类的前面加上final关键词,给成员方法添加final关键词也是同样的操作。

PHP面向对象中使用final实例代码

<?php

use myclass as GlobalMyclass;

final class myclass{
    public $webname;
    public $website;
    function __construct($webname,$website){
        $this->webname=$webname;
        $this->website=$website;
    }
}

class test_class extends myclass{
    function test_web(){
        echo '网站名称'.$this->webname.'<br>';
        echo '网站名称'.$this->webname;
    }
}

$test = new test_class('浩沐资源网','www.dhaomu.com');

?>

上例代码块中我们让子类test_class继承了父类myclass,而我们给父类myclass添加了final关键词,在执行语句后,我们看到报了Fatal error: Class test_class may not inherit from final class (myclass) in D:\phpstudy_pro\WWW\phpxx.com\final.php on line 19错误:类test_class不能继承最终类myclass,证明在上面我们上面的结论是对的,被final修饰过的类和方法,我们不可以再继承使用。

<?php

class myclass{
    public $webname;
    public $website;
    final function __construct($webname,$website){
        $this->webname=$webname;
        $this->website=$website;
    }
}

class test_class extends myclass{
    function test_web(){
        echo '网站名称'.$this->webname.'<br>';
        echo '网站名称'.$this->webname;
    }
}

$test = new test_class('浩沐资源网','www.dhaomu.com');

?>

在上面的代码块中,我又对代码进行了稍微的调整,将父类的构造方法添加了final关键词,然后在子类中调用相关成员变量,当执行代码之后,也是无法调用出父类中的相关成员变量。

经过以上PHP面向对象中final关键词是什么?PHP面向对象中final的作用、PHP面向对象中final如何使用、PHP面向对象中使用final实例代码这四方面的记载,我也更加明白如何使用final。

温馨提示:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA赞赏
共{{data.count}}人
人已赞赏
编程技巧

DiscuzX中存在不合法的文件被上传的修复方法

2021-7-31 0:00:00

编程技巧

Javascript技术删除标签内的内容

2021-8-1 9:00:00

0 条回复 A文章作者 M管理员
----《》
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索