final关键字+const关键字

Posted 向前看!明天会更好!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了final关键字+const关键字相关的知识,希望对你有一定的参考价值。

final关键字

1.如果我们希望某个类不被其它的类来继承(可能因为安全考虑),可以使用final。

例题

<?
    final class A{}
    class B extends A{};//会报错
    echo "OK";
?>

2.如果我们希望某个方法,比如计算个人所得税的方法,不能子类改写,可以使用final来修饰方法。

例题

<?php
    class A{
    final public function getRate($salary){
    return $salary*0.08;
}
}
    class B extends A{
    //不能去覆盖父类的getRate方法
    /*
        public function getRate($sal){
    return $sal*0.01;
}
        */
}
    $b=new B();
    echo $b->getRate(100);
?>


3.final 关键字不能去修饰属性。

 

const关键字

基本用法是:

class A{

  const 常量名=赋初值;

}

interface 接口名{

  const 常量名=赋初值;

}

注意:常量是public

例题

<?php
    class A{
    const TAX_TATE=0.08;
    public function payTax($va1){
    return $va1*A::TAX_TATE;
}
}
    $a=new A();
    echo $a->pay Tax(200);
?>

 

以上是关于final关键字+const关键字的主要内容,如果未能解决你的问题,请参考以下文章

php 关键字 public private protect final static const

php--在类中声明常量的关键字

Dart 中 的var final dynamic const

关键字 final

Java入门系列之final

inline内联函数