<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • php接口中interface的使用方法

    程序猿 2021-03-01 21:36:13 1881瀏覽 加載中

    對于接口來說,其中是包含了很多方法的集合,有一個方法是需要大家都學習的,那就是interface。這里我們主要講的是它的兩個繼承用法,普通的繼承和多繼承的使用,特別是多繼承方面,初學者還是不明白的。下面我們先就接口簡單介紹,然后帶來對應的使用方法實例。

    1、說明

    接口中的方法都是抽象方法,并且是public。

    2、接口同樣可以繼承接口,但是子類必須實現所有方法

    interface E extends A {
        //接口E繼承接口A,E中必須實現A中所定義的方法
    }

    3、實現多重繼承:

    我們都知道PHP中的類(class)是單繼承的,那是不是就沒有辦法實現多重繼承了呢?答案是否定的.我們可以通過其它特殊的方式實現類的多重 繼承,比如使用接口interface實現,只要把類的特征抽象為接口,并通過實現接口的方式讓對象有多重身份,通過這樣就可以模擬多重繼承了。

    下面是一個用接口(interface)實現多重繼承的例子,源代碼如下:

    <?php
    interface UserInterface{ //定義User的接口
    function getname();
    }
    interface TeacherInterface{ //teacher相關接口
    function getLengthOfService();
    }
    class User implements UserInterface { //實現UserInterface接口
    private $name = "tom";
    public function getName(){
    return $this->name;
    }
    }
    class Teacher implements TeacherInterface { //實現TeacherInterface接口
    private $lengthOfService = 5; // 工齡
    public function getLengthOfService(){
    return $this->lengthOfService;
    }
    }
    // 繼承自User類,同時實現了TeacherInterface接口.
    class GraduateStudent extends User implements TeacherInterface {
    private $teacher ;
    public function __construct(){
    $this->teacher = new Teacher();
    }
    public function getLengthOfService(){
    return $this->teacher->getLengthOfService();
    }
    }
    class Act{
    //注意這里的類型提示改成了接口類型
    public static function getUserName(UserInterface $_user){
    echo "Name is " . $_user->getName() ."<br>";
    }
    //這里的類型提示改成了TeacherInterface類型.
    public static function getLengthOfService(TeacherInterface $_teacher){
    echo "Age is " .$_teacher->getLengthOfService() ."<br>";
    }
    }
    $graduateStudent = new GraduateStudent();
    Act::getUserName($graduateStudent);
    Act::getLengthOfService($graduateStudent);
    //結果正如我們所要的,實現了有多重身份的一個對象.
    ?>

    以上就是php接口中interface的使用方法,大家學會后,可以獨立的嘗試使用一下,看看能否達成繼承的效果。

    標簽: php
    最后修改:2025-06-25 07:58:58

    非特殊說明,本博所有文章均為博主原創。

    主站蜘蛛池模板: 新蔡县| 金寨县| 山阳县| 山丹县| 印江| 张家口市| 黑龙江省| 高要市| 金湖县| 望都县| 武隆县| 神农架林区| 兴仁县| 兖州市| 漯河市| 财经| 清水河县| 彭州市| 桂林市| 阳春市| 常宁市| 巩留县| 柯坪县| 无棣县| 蓬莱市| 嵊州市| 多伦县| 鹤庆县| 安达市| 望都县| 漯河市| 武功县| 乌拉特前旗| 平山县| 安达市| 蒙城县| 南皮县| 民乐县| 阳朔县| 罗田县| 依兰县|