最后一关键词

,,PHP 5新增了一个最后的关键字。如果父类中的方法被声明为决赛,则子类无法覆盖该方法。如果一个类被声明为决赛,则不能被继承。

<>强例一

<强>

<>强例二

<强>

<强>注意:,属性不能被定义为决赛,只有类和方法才能被定义为决赛。

,

如果我们不希望一个类被继承,我们使用最后来修饰这个类。这个类将无法被继承。

最后- - -用于类,方法前。
最终类——不可被继承。
最后方法——不可被覆盖。
<强>最终类不能被继承。
强如果我们不希望一个类被继承,我们使用最后来修饰这个类。这个类将无法被继承。比如我们设定的数学类,涉及了我们要做的数学计算方法,这些算法也没有必要修改,也没有必要被继承,我们把它设置成最终的类型。


& lt; ?
//声明一个最终类数学
最后一节课数学{
公共静态π=3.14美元;

公共职能__toString () {
返回”这是数学类。”;
}
}
$数学=新的数学();
echo $数学;

//声明类SuperMath继承自数学类
类SuperMath延伸数学{
}
//执行会出错,最终类不能被继承。

?在

<强>程序运行结果

致命错误:类SuperMath不得从最后一个类继承(数学)E: \ PHPProjects \测试。php在第14行

,

<强>最后方法不能被重写
强如果不希望类中的某个方法被子类重写,我们可以设置这个方法为最终的方法,只需要在这个方法前加上最后修饰符。

如果这个方法被子类重写,将会出现错误。


& lt; ?
//声明一个最终类数学
类数学{
公共静态π=3.14美元;
公共职能__toString () {
返回”这是数学类。”;
}
公共最终max函数(a, b)美元{
返回$比;b美元?a: b美元;
}
}
//声明类SuperMath继承自数学类
类SuperMath延伸数学{
公共最终max函数(a, b)美元{}
}
//执行会出错,最后方法不能被重写。

?在

<强>程序运行结果

致命错误:类SuperMath不得从最后一个类继承(数学)E: \ PHPProjects \测试。php在16行

最后一关键词