首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 物件導向全攻略(十四):介面技術與多重實作

     編輯:PHP 綜合知識

介面定義語法

interface One {
    const CONSTANT = 'value';
    public function fun1();
    public function fun2();
}
  • 介面內所有方法隱含為 public abstract,不可寫 private 或 protected。
  • 可定義常數(const),不可定義變數屬性。
  • 介面不可實例化。

介面繼承

interface Two extends One {
    public function fun3();
    public function fun4();
}

使用 extends 關鍵字,子介面繼承父介面所有抽象方法與常數。

類別實作介面

class Three implements One {
    public function fun1() { /* ... */ }
    public function fun2() { /* ... */ }
}
$obj = new Three(); // 實作完所有抽象方法才能實例化

使用 implements 關鍵字。一個類別可實作多個介面:

class Four implements One, Two, ThreeInterface {
    // 必須實作所有介面的所有抽象方法
}

抽象類別實作介面

abstract class AbstractFive implements One {
    public function fun1() { /* ... */ }
    // fun2 留給子類別實作
}
class ConcreteFive extends AbstractFive {
    public function fun2() { /* ... */ }
}
$obj = new ConcreteFive();

類別繼承與介面實作並存

class Six extends BaseClass implements One, Two {
    // 先 extends 再 implements
    // 實作所有介面方法
}

PHP 單一繼承、多重實作,符合「一個父類、多個規範」的設計原則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved