当前位置 : 主页 > 网络编程 > PHP >

Final的今生之旅

来源:互联网 收集:自由互联 发布时间:2021-08-08
事务的划分首先不可能无限细化,因此肯定是不需要无限的出现子类的。一旦无限出现子类,带来的可能不是解决问题的便利性,而是内存资源的无限消耗,因此 PHP 提供了一种终结机制
事务的划分首先不可能无限细化,因此肯定是不需要无限的出现子类的。一旦无限出现子类,带来的可能不是解决问题的便利性,而是内存资源的无限消耗,因此PHP提供了一种终结机制,让类无法被继承。

1.基本语法:final class 类名

<?php
    final class Man{}//最终类
?>

2.最终类无法被继承

<?php

final class Man{}//最终类

class Man2 extends Man{}		//报错:无法从final类继承
?>

3.final关键字不止修饰类表示类不可被继承,还能修饰方法,表示方法不能被重写

<?php
//父类
class People{
    public function name(){}		//普通方法
    public final function age(){}	//最终方法
}
//子类
class Man extends People{
    //重写
    public function name(){}		//没问题
    public function age(){}		//致命错误:不能重写父类中的最终方法
}
?>

小结:final关键字修饰,在变量中代表着无可更改的可能,在类中代表无法被继承,在方法中不能被重写。

网友评论