1. 程式人生 > >PHP介面繼承及介面多繼承原理與實現方法詳解

PHP介面繼承及介面多繼承原理與實現方法詳解

在PHP的介面中,介面可以繼承介面。雖然PHP類只能繼承一個父類(單繼承),但是介面和類不同,介面可以實現多繼承,可以繼承一個或者多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介面隔開即可。

需要注意的是當你介面繼承其它介面時候,直接繼承父介面的靜態常量屬性和抽象方法,所以類實現介面時必須實現所有相關的抽象方法。

接下來看下面的例子:

<?php
interface father{
  function shuchu();
}
interface fam extends father{
  function cook($name);
}
class test implements fam{
  function shuchu(){
    echo "介面繼承,要實現兩個抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平時經常做飯的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->cook("媽媽");
?>
程式碼執行的結果如下:

介面繼承,要實現兩個抽象方法

平時經常做飯的人是媽媽

上面的示例是介面繼承了一個介面,所以在test類實現fam介面的時候要例項兩個抽象方法,就是把介面的子類和父類的抽象方法都例項。

下面我們看下介面多繼承的例子

<?php
interface father{
  function shuchu();
}
interface mother{
  function dayin($my);
}
interface fam extends father,mother{
  function cook($name);
}
class test implements fam{
  function dayin($my){
    echo "我的名字是:".$my;
    echo "<br>";
  }
  function shuchu(){
    echo "介面繼承,要實現兩個抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平時經常做飯的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->dayin("小強");
$t->cook("媽媽");
?>
執行的結果就是

介面繼承,要實現兩個抽象方法

我的名字是小強

平時經常做飯的人是媽媽

這段程式碼由於介面繼承了兩個介面,所有例項時要把這三個抽象類的所有抽象方法都例項,總共有三個。看完這兩個例子,你應該對介面的繼承熟悉了吧,其實就一個單繼承和多繼承,只要實現了所有相關的抽象方法就可以了。

相關推薦

PHP介面繼承介面繼承原理實現方法

在PHP的介面中,介面可以繼承介面。雖然PHP類只能繼承一個父類(單繼承),但是介面和類不同,介面可以實現多繼承,可以繼承一個或者多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介面隔開即可。 需要注意的是當你介面繼承其它介面時候,

“全棧2019”Java第六十三章:介面抽象方法

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第六十三章:介面與抽象方法詳解 下一章 “全棧2019”Java第六十四章:介面與靜態方法詳

Python程序原理實現

1 程序的基本概念 什麼是程序? ​ 程序就是一個程式在一個數據集上的一次動態執行過程。程序一般由程式、資料集、程序控制塊三部分組成。我們編寫的程式用來描述程序要完成哪些功能以及如何完成;資料集則是程式在執行過程中所需要使用的資源;程序控制塊用來記錄程序的外部特徵,描述程序的執行變化

STL原始碼剖析——stack的實現原理和使用方法

Stack 簡介     stack 是堆疊容器,是一種“先進後出”的容器。     stack 是簡單地裝飾 deque 容器而成為另外一種容器。     使用 stack 時需要加上標頭檔案 #include<s

STL原始碼剖析——deque的實現原理和使用方法

Deque 簡介     deque是“double—ended queue”的縮寫,和vector一樣都是STL的容器,deque 是雙端陣列,而 vector 是單端的。     deque 在介面上和 vector 非常相似,在許多操作的地方

“全棧2019”Java第五十七章:構造方法

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第五十七章:多型與構造方法詳解 下一章 “全棧2019”Java第五十八章:多型中方法返回型

深度學習-卷積神經網路CNN-BN(Batch Normalization) 原理使用過程

前言 Batch Normalization是由google提出的一種訓練優化方法。參考論文:Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shif

Android-點觸控的實現示例

最近在做一個多點觸控的專案,因為之前沒有做過相同的,就先寫了一個示例程式碼。其中涉及了一些常用的實現方法,在此分析一下,和大家分享。 這個示例涉及到的內容: 1.靜態設定橫屏的方法; 2.設定全屏的方法; 3.在onCreate()方法中獲取圖片高度和寬度的

java執行緒併發程式設計

一、多執行緒1、作業系統有兩個容易混淆的概念,程序和執行緒。程序:一個計算機程式的執行例項,包含了需要執行的指令;有自己的獨立地址空間,包含程式內容和資料;不同程序的地址空間是互相隔離的;程序擁有各種資源和狀態資訊,包括開啟的檔案、子程序和訊號處理。執行緒:表示程式的執行流程

PHP介面繼承介面繼承

在PHP的介面中,介面可以繼承介面。雖然PHP類只能繼承一個父類(單繼承),但是介面和類不同,介面可以實現多繼承,可以繼承一個或者多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介

Android中Webview原生介面互動二維碼掃描功能實現

最近專案中有一個新的需求,大致是這樣的:APP中通過WebView展示一個第三方的HTML5介面,使用者可以在HTML5介面中呼叫Android攝像頭進行二維碼掃描,並將掃描結果顯示在HTML5介面。這顯然涉及到了Android原生與WebView之前的傳值

Python 在子類中呼叫父類方法(單繼承繼承、多重繼承

測試環境: win7 64位 Python版本:Python 3.3.5 程式碼實踐: 1、在子類中通過“類名”呼叫父類的方法 class FatherA: def __init__(self): print('init

python介面自動化(三十三)-python自動發郵件總結例項說明番外篇——下(

簡介   發郵件前我們需要了解的是郵件是怎麼一個形式去傳送到對方手上的,通俗點來說就是你寫好一封信,然後裝進信封,寫上地址,貼上郵票,然後就近找個郵局,把信仍進去,其他的就不關心了,只是關心時間,而電子郵件不像日常傳送郵件的按天算,時間都是按 秒算的。 電子郵件的傳送流程: 1、你使用某款電子

網絡實戰ospf區域原理實戰

網絡實戰ospf多區域原理與實戰OSPF多區域原理與配置楔子 其實網路算得上是底層的原理了 根據tcp/ip 七層協議就可以看出 系統原理和網絡是不可分割的一部分。生成OSPF多區域的原因改善網絡的可擴展性快速收斂OSPF區域的容量劃分多區域後,每個OSPF區域裏到底可以容納多少臺路由器?單個區域所支持的路由

HTTP協議報文、工作原理Java中的HTTP通信技術

tor 報文 buffered mod protoc 禁止 ans 請求報文 客戶端 博客園 首頁 新隨筆 聯系 管理 訂閱

PHP實現IP訪問限制提交次數的方法

次數 訪問 獲取 ip訪問限制 variable [1] 簡單 操作文件 讀取文件 一、原理 提交次數是肯定要往數據庫裏寫次數這個數據的,比如用戶登陸,當用戶出錯時就忘數據庫寫入出錯次數1,並且出錯時間,再出錯寫2,當滿比如5次時提示不允許再登陸,請明天再試,然後用Date

RPM打包原理、示例、備查( 轉)

build line 6.4 介紹 很多 his 原理 動態鏈接 author   RPM(Redhat Package Manager)是用於Redhat、CentOS、Fedora等Linux 分發版(distribution)的常見的軟件包管理器。因為它允許分發已編譯

分頁技術原理實現之分頁的意義方法(一)

轉載自https://www.jb51.net/article/86326.htm。 什麼是分頁技術  分頁,是一種將所有資料分段展示給使用者的技術.使用者每次看到的不是全部資料,而是其中的一部分,如果在其中沒有找到自習自己想要的內容,使用者可以通過制定頁碼或是翻頁的方式轉換可見內容,

Java執行緒下載原理實現

多執行緒下載原理 客戶端要下載一個檔案, 首先請求伺服器,伺服器將這個檔案傳送給客戶端,客戶端儲存到本地, 完成了一個下載的過程. 多執行緒下載的思想是客戶端開啟多個執行緒同時下載,每個執行緒只負責下載檔案的一部分, 當所有執行緒下載完成的時候,檔案下載完畢.

“全棧2019”Java第五十二章:繼承初始化

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第五十二章:繼承與初始化詳解 下一章 “全棧2019”Java第五十三章:向上轉型和向下轉型