1. 程式人生 > >php類的單繼承和trait的使用,實現多繼承效果

php類的單繼承和trait的使用,實現多繼承效果

一、php類名規範:
1>類名可包含字母,數字,下劃線,不能以數字開頭;
2>類名不區分大小寫;
3>類名不能使用關鍵字;
4>類檔案都以.class.php為字尾,使用駝峰法命名,並且首字母大寫;

二、例項化類和繼承
1>class 宣告的類使用new關鍵字例項化,使用extends 繼承父類
2>php中的類是單繼承,沒有多繼承的特性,可以使用traits實現多繼承效果
3>trait 可以理解為一組能被不同的類都能呼叫到的方法集合,但trait 不是類,不能被例項化
trait 可以看做類的部分實現,可以混入一個或多個現有的php類中,其作用有兩個:表明類可以做什麼;提供模組化實現。trait是一種程式碼複用技術,為php的單繼承限制提供了一套靈活的程式碼複用機制。

<?php
//父類
class father{
    function callme(){
        echo 'I,m father';
    }
}
//trait
trait brother{
    function callme(){
        echo 'I,m brother';
    }
}
//子類
class children extends father{
    //使用use關鍵字引入trait 宣告的方法/屬性集,然後就可以使用啦
    use brother;
    function callme(){
        echo 'I,m children';
    }	

}

$person = new children();
//從基類繼承的成員會被 trait 插入的成員所覆蓋。優先順序是來自當前類的成員覆蓋了 trait 的方法,而 trait 則覆蓋了被繼承的方法。
//方法呼叫優先順序:自身方法>trait的方法>繼承的方法
$person->callme();

在這裡插入圖片描述