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.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。