finalクラス、finalメソッド、定数

1150 ワード

final---クラス、メソッドの前に使用します.
finalクラス---継承できません.
finalメソッド---上書きできません.
finalクラスは継承できません.
クラスが継承されたくない場合はfinalを使用してクラスを修飾します.
このクラスは継承されません.
たとえば我々が設定したMathクラスは,我々が行う数学的計算方法に関し,これらのアルゴリズムも修正する必要はなく,継承する必要もなくfinalタイプに設定した.
<?php  
//    final Math  
final class Math  
{  
    public static $pi = 3.14;  
    public function __toString() {  
        return "  Math 。";  
    }  
}  
$math = new Math();  
echo $math;  
//   SuperMath     Math   
class SuperMath extends Math  
{  
}  
//     ,final      。  
?>

 
finalメソッドは書き換えられません
クラスのメソッドがクラスに書き換えられない場合は、このメソッドをfinalメソッドとして設定できます.このメソッドの前にfinal修飾子を付けるだけです.この方法を布団類に書き換えると、エラーが発生します.
<?php  
//    final Math  
class Math  
{  
    public static $pi = 3.14;        
    public function __toString() {  
        return "  Math 。";  
    }  
    public final function max($a, $b)   
        return $a > $b ? $a : $b ;  
    }        
}  
//   SuperMath     Math   
class SuperMath extends Math  
{  
    public final function max($a, $b) {  
    }  
}  
//     ,final       。  
?>