PHP面向对象中final和const笔记

来源:互联网 发布:南京网络作家协会 编辑:程序博客网 时间:2024/06/03 12:39

final关键字

1.如果程序员希望某个类不被其他的类来继承(出于安全性考虑)可以使用final
2.如果希望某个方法不想被任何一个子类重写
3.final不能修饰属性

错误演示:

final class A {        }        class B extends A{            function A(){                echo"ok";            }           }

报错:Fatal error: Class B may not inherit from final class (A)

const常量

1.程序设计中,不希望某个值被改变
2.const 常量名=值
3.常量是public属性,但是不能写上public,即const后面不加修饰符
4.常量不能修改

代码演示:

class AAA{        //常量必须赋初值        const rate=0.08;        function getpay($n){            //return $n*(self::rate);也可以            return $n*(AAA::rate);        }    }    $a=new AAA();    echo $a->getpay(100);