|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。 本篇文章給大家帶來的內容是關于php中類繼承和接口繼承的對比介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。PHP類繼承: 1、PHP類不支持多繼承,也就是子類只能繼承一個父類,但是支持多層次繼承,比如: class frist{
public function __construct(){
echo "我是第一個類。","<br>";
}
public function printer(){
echo "frist","<br>";
}
}
class seconds extends frist{}
class third extends seconds{}
$obj = new third();
$obj->printer();結果:這是第一個類。 frist 第二個類和第三個類沒有重寫printer()方法,第三個類實例化后可以調用printer()方法。 2、繼承權限問題 (1)父類private方法不可被繼承,父類私有化 (2)父類protected方法可以被繼承,但不能被實例化對象調用,如果調用會出現" Call to protected method frist::printer()"的報錯,父類對此方法置于保護模式下 (3)父類public方法可以被繼承、可以被實例化對象調用,屬于公開方法 (4)子類可重寫父類public或者protected的方法,不能重新private的方法,如果同名只是在本類重新聲明 3、接口類繼承 (1) 接口支持多繼承,接口類的方法不需要實現比如: interface frist{
public function ex1();
}
interface seconds{
public function ex2();
}
interface third extends frist,seconds{
public function ex3();
}
class fourth implements third{
public function ex1(){}
public function ex2(){}
public function ex3(){}
}
class fourth implements frist,seconds{
public function ex1(){}
public function ex2(){}
}(2) 接口類的方法權限都是public,默認public (3)引用接口的類必須實現接口的所有方法,否則會報錯,比如:"Class e contains 1 abstract method and must therefore be declared abstract or implement the remaining methods",即:e類包含1個抽象方法,因此必須聲明抽象或實現其余方法。 4、抽象類:只要一個類里面有一個方法是抽象方法,那么這個類就要定義為抽象類 (1)抽象類繼承抽象類不能重寫父類方法。 (2)抽象類繼承是對父類的方法的拓展。 (3)繼承的派生類當中要把所有抽象方法重載才能實例化。 (4)抽象類實現的普通發放,可以在非抽象子類中直接調用。 5、接口和抽象類的異同點(引用抽象類與接口區別) (1)對接口的使用方式是通過關鍵字implements來實現的,而對于抽象類的操作是使用類繼承的關鍵字exotends實現的 (2) 接口沒有數據成員,但是抽象類有數據成員,抽象類可以實現數據的封裝。 (3) 接口沒有構造函數,抽象類可以有構造函數。 (4)接口中的方法都是public類型,而抽象類中的方法可以使用private、protected或public來修飾。 (5) 一個類可以同時實現多個接口,但是只能實現一個抽象類。 (6) 相同點:函數體內不能寫任何東西,比如:function getName();即可。 以上就是php中類繼承和接口繼承的對比介紹的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!