PHP物件導向之介面

2021-08-26 23:26:42 字數 893 閱讀 2492

php與大多數物件導向程式設計語言一樣,不支援多重繼承。也就是說每個類 只能繼承乙個父類。

為了解決此問題,php引入了介面。

介面的思想是指定了乙個實現該介面的類必須實現的一系列方法。

介面是一種特殊的抽象類,抽象類是一種特殊的類,所以介面也是一種特殊的類。

為什麼說介面是一種特殊的抽象類呢?如果乙個抽象類裡面的方法都是抽象方法,那麼我們就換一種宣告方法使用「介面」,也就是說介面裡面所有的方法必須都是宣告為抽象方法,

另外介面裡邊不能宣告變數(但可以宣告常量constant)

注意:介面裡面所有的成員都是public許可權的。所以子類在實現的時候,也一定要使用public許可權。

類的定義

<?php

class 類名

介面的定義

<?php

inte***ce 介面名

<?php

inte***ce demo

所以對於介面裡面的成員我們就不能使用private和protected的許可權了。

重點:因為介面是一種特殊的抽象類,裡面所有的方法都是抽象方法,所以介面也不能產生例項物件;

它也做為一種規範,所有抽象法法需要子類去實現。

<?php

inte***ce demo

class demos implements demo

public function run()

}//實現了全部方法,我們可以使用子類去例項化物件了

$demos=new demo();

PHP物件導向之介面的例項

這篇文章主要以 為主,主要作用是通過例項理解php物件導向的介面 inte ce 和備忘。定義介面使用inte ce關鍵字,不在使用class關鍵字 介面中可以定義常量,不可以定義成員屬性和成員方法,這一點和抽象類不同 抽象類可以定義 介面中的方法全是抽象方法,但是不用abstract關鍵字修飾,沒...

物件導向之介面

1.什麼是介面?還有另外乙個關鍵字,也可以用來定義新的資料型別 inte ce 但是,使用inte ce關鍵字定義的新資料型別,有一些特殊的要求 1.1 在這種資料型別中,只能有方法宣告,不能有方法實現。1.2 在這種資料型別中,所宣告的成員變數,預設都是public static final的。1...

物件導向之介面

概述 public inte ce 介面名稱含有抽象方法 public inte ce inte cename 含有靜態方法和預設方法 public inte ce inte cename 類與介面的關係為實現關係,即類實現介面,該類可以稱為介面的實現類,也可以成為介面的子類。實現的動作類似於繼承 ...