1. 程式人生 > >php類的介面的繼承

php類的介面的繼承

一個介面可以繼承自另外的介面。PHP5中的類是單繼承,但是介面很特殊。一個介面可以繼承自多個介面。

一個介面繼承其它介面時候,直接繼承父介面的靜態常量屬性和抽象方法。

在PHP5中,介面是可以繼承自另外一個介面的。這樣程式碼的重用更有效了。

要注意只有介面和介面之間使用 繼承關鍵字extends。

類實現介面必須實現其抽象方法,使用實現關鍵字 implements。

介面實現繼承

要注意只有介面和介面之間使用 繼承關鍵字extends。

類實現介面必須實現其抽象方法,使用實現關鍵字 implements。

這個例子定義介面User,User有兩個抽象方法getName和setName。又定義了介面VipUser,繼承自User介面,並增加了和折扣相關的方法getDiscount。最後定義了類 Vip ,實現了VipUser介面。並實現了其中的三個方法。

<?php
interface User  
{  
    function getName();  
    function setName($_name);  
}  
interface VipUser extends User  
{  
    function getDiscount(); //此處添加了一個抽象的方法  
}  
class Vip implements VipUser  
{  
    private $name;  
    private $discount = 0.8;    //折扣變數  
    function getName() {  
        return $this->name;  
    }  
    function setName($_name) {  
        $this->name = $_name;  
    }  
    function getDiscount() {  
        return $this->discount;  
    }  
}  


相關推薦

PHP繼承介面

PHP類的繼承的一些語法 -PHP的類只支援單繼承,就是每個類最多隻能有一個父類或者沒有父類。 -子類不能繼承父類使用private修飾的成員。 修飾符 可訪問範圍 public 當前類、子類和類外 protecte

PHP 繼承 訪問修飾符 重寫

很多 strong 類的方法 重新 特征 -s 基本 ted 屬性 類的繼承: 某些類A具有的某些特性,另一個類B,也具有A類的所有特性並且也有自己的特性,此時我們就可以實現B類使用A類的特性信息並繼續添加自己的一些特有的特征信息 關鍵字是:extends基本概念:

抽象&介面&繼承

一.抽象類 1.抽象類: 定義:只約定類所具有的抽象行為,沒有具體實現相應的功能的物件 使用原則: (1)抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public; (2)

PHP繼承介面繼承關係概述

PHP類繼承: PHP類不支援多繼承,也就是子類只能繼承一個父類,但是支援多層次繼承,比如: 1 class frist{ 2 public function __construct(){ 3 echo "我是第一個類。","<br>"; 4 } 5

php介面繼承

一個介面可以繼承自另外的介面。PHP5中的類是單繼承,但是介面很特殊。一個介面可以繼承自多個介面。 一個介面繼承其它介面時候,直接繼承父介面的靜態常量屬性和抽象方法。 在PHP5中,介面是可以繼承自另外一個介面的。這樣程式碼的重用更有效了。 要注意只有介面和介面之間使用 繼

php利用介面實現的多重繼承

//定義介面A interface A{         function getName();    } //定義介面B     interface B{         function getAddress();    }     class AA implement

PHP介面、抽象繼承的理解和應…

幾個問題全是關於介面,介面有什麼用?為什麼要用介面?什麼時候該使用介面?很慶幸他們不是問我Java如何連線SQL Server,或者是如何開發J2EE,這類問題有殺傷力,避之則吉。今年計算機學院本科有個畢業設計課題是做J2ME,選這個題目的學生在5月末都還在苦著臉研究java.util.*這個包,這個這個唉

PHP繼承、接口繼承關系概述

con ted 概述 類型 類繼承 trac 派生 直接 5.6 PHP類繼承: PHP類不支持多繼承,也就是子類只能繼承一個父類,但是支持多層次繼承,比如: 1 class frist{ 2 public function __construct(){

一個extends 繼承多個介面的實現方法

在java中 一個類中不能繼承多個介面,但是可以通過一個介面繼承多個介面來實現。具體程式碼如下 public interface LanguageBeharvior { public void language(); } public interface SpeakBeharvior {

【Java篇03】具體 & 抽象 & 介面 —— 繼承extends & 實現Implement小結

一、具體類 & 抽象類 $ 介面 從組成上來看: 具體類包含:屬性、構造器、具體方法、初始化塊(靜態語句塊static{ } 、動態語句塊{ })、內部類 ; 抽象類包含:屬性、構造器、具體方法、抽象方法(需要用public abstract修飾); 介面包含:屬性、抽象方法(一

【學習筆記】 唐大仕—Java程式設計 第4講 、包和介面之4.2 繼承

【學習筆記】 唐大仕—Java程式設計 第4講 類、包和介面之4.2 類的繼承 super的使用 1.使用super訪問父類的域和方法 注意:正是由於繼承,使用this可以訪問父類的域和方法。但是有時為了明確指明父類的域和方法,就要用關鍵字super。this和super都是指當前同一個物件

獲取一個所有繼承的父及實現的介面

本來要判斷一個類的型別是否是List,用Obj.getClass()==List.class對付一下,結果其實傳過來的Object是List的實現類ArrayList(也只能是List的實現類)。這就很奇怪了,如果用ArrayList.class又感覺太妥協了。 就寫了這個作為class

介面與抽象繼承和實現關係

參考:https://blog.csdn.net/hudfang/article/details/50556277 //c++多繼承與多層繼承 參考:https://blog.csdn.net/Lingfeng928/article/details/51917955  

php 封裝介面返回json/xml資料

php 封裝介面類返回json/xml資料 response.php <?php class Response { /* *按json格式返回資料 *@param int $code 狀態碼 *@param string $message 提示

Java中介面繼承和實現小問題

以下這個問題其實是一個很low的問題,但確實很基礎 今天在看JDK原始碼中發現這一行程式碼: public interface BlockingDeque<E> extends BlockingQueue<E>, Deque<E> 奇怪了,

C#學習——淺談介面、抽象介面繼承繼承

引言:  學習面嚮物件語言有一陣子了,聽也聽的多了,但是真正用起來的時候,還是有些陌生,這個Iworkspace,那個IworkspaceFactory還有次一級的很多,雖然我能夠知道他們之間的關係,但是在應用的時候就有點迷了,所以想梳理一下。 首先這塊內容,比如介面和抽象類

介面和抽象是否繼承了Object

我們先看一下Java的幫助文件對於Object的描述: Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implem

php的單繼承和trait的使用,實現多繼承效果

一、php類名規範: 1>類名可包含字母,數字,下劃線,不能以數字開頭; 2>類名不區分大小寫; 3>類名不能使用關鍵字; 4>類檔案都以.class.php為字尾,使用駝峰法命名,並且首字母大寫; 二、例項化類和繼承 1>class 宣告的類使用new關鍵

php繼承與程式碼複用

/** * 類的繼承 * 1. 繼承是為了程式碼複用 * 2. php只支援單繼承 * 3. 父類也叫超類,基類,子類也叫派生類 */   //宣告一個父類 class ParentClass{ public $name; protected $cour

Java繼承介面繼承和實現

Java的介面有繼承和實現兩個概念,介面可以繼承另一個介面,並獲得其父接口裡的所有方法和成員變數,介面也可以被一個類實現,實現介面的類需要實現介面及其父接口裡的所有抽象方法,怎麼理解呢? (1)如果介面A繼承了介面B,那麼介面A就繼承了介面B的所有抽象方法;