面向对象之final,类的自动加载,命名空间

时间:2022-12-15 21:57:05

Final关键字:最终的属性不能被定义为 final,只有类和方法才能被定义为 final。特点:Final类不能被继承: 如果我们不希望一个类被继承,我们使用final来修饰这个类。这个类将无法被继承。比如我们设定的Math类,涉及了我们要做的数学计算方法,这些算法也没有必要修改,也没有必要被继承,我们把它设置成final类型。Final 方法不能被重写:如果不希望类中的某个方法被子类重写,我们可以设置这个方法为final方法,只需要在这个方法前加上final修饰符类的自动加载简化开发者书写文件路径,很多开发者写面向对象的应用程序时对每个类的定义建立一个 PHP 源文件。一个很大的烦恼是不得不在每个脚本开头写一个长长的包含文件列表(每个类一个文件)。 __autoload ,传统方式,渐渐被弃用;spl_autoload_register() ,现在面向对象的方法。命名空间命名空间是一种封装事物的方法,用来解决①用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突;②为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。