一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP面向?qū)ο蟪绦蛟O(shè)計之接口的繼承定義與用法詳解

PHP面向?qū)ο蟪绦蛟O(shè)計之接口的繼承定義與用法詳解

2019-07-15 10:18天涯海角路 PHP教程

這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計之接口的繼承定義與用法,結(jié)合實(shí)例形式分析了php接口的概念、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了PHP面向?qū)ο蟪绦蛟O(shè)計之接口的繼承定義與用法。分享給大家供大家參考,具體如下:

在PHP5中,接口是可以繼承自另外一個接口的。這樣代碼的重用更有效了。要注意只有接口和接口之間使用 繼承關(guān)鍵字 extends。類實(shí)現(xiàn)接口必須實(shí)現(xiàn)其抽象方法,使用實(shí)現(xiàn)關(guān)鍵字 implements

下面的這個例子定義接口User,User有兩個抽象方法 getName和setName。 又定義了接口VipUser, 繼承自User接口,并增加了和折扣相關(guān)的方法getDiscount。

最后定義了類 Vip ,實(shí)現(xiàn)了VipUser接口。并實(shí)現(xiàn)了其中的三個方法。

<?php
interface User {
  public function getName();
  public function setName($_name);
}
interface VipUser extends User {
  public function getDiscount(); //添加了獲得折扣的抽象方法.
}
class Vip implements VipUser {
  private $name;
  private $discount = 0.8;// 定義折扣變量
  public function getName(){ //實(shí)現(xiàn)getName方法
    return $this->name;
  }
  public function setName($_name){//實(shí)現(xiàn)setName方法
    $this->name = $_name;
  }
  public function getDiscount(){//實(shí)現(xiàn)折扣方法.
    return $this->discount;
  }
}
?>

接口可以實(shí)現(xiàn)多繼承,這是接口很特殊的地方。注意下面的代碼和用法。

<?php
interface User {
  public function getName();
  public function setName($_name);
}
interface Administrator {
  public function setNews($_news);
}
//注意這里的多繼承.
interface NewsAdministrator extends User,Administrator{
}
class NewsAdmin implements NewsAdministrator { //實(shí)現(xiàn)接口
  public function getName(){
    //.........
  }
  public function setName($_name){
    //.........
  }
  public function setNews($_news){
    //.........
  }
}
?>

抽象類實(shí)現(xiàn)接口,可以不實(shí)現(xiàn)其中的抽象方法,而將抽象方法的實(shí)現(xiàn)交付給具體能被實(shí)例化的類去處理。

<?php
interface User {
  public function getName();
  public function setName($_name);
}
//AbstractNormalUser 只實(shí)現(xiàn)了 User接口中的一個方法,
abstract class AbstractNormalUser{
  protected $name;
  public function getName(){
    return $this->name;
  }
}
//這里實(shí)現(xiàn)了接口的另外一個方法.
class NormalUser extends AbstractNormalUser {
  public function setName($_name){
    $this->name = $_name;
  }
}
$normalUser = new NormalUser();
$normalUser->setName("tom");
echo "name is ".$normalUser->getName();
?>

運(yùn)行結(jié)果:

name is tom

希望本文所述對大家PHP程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女真实无遮挡xx00动态图软件 | 花核调教 | 91精品国产高清久久久久久 | 欧美一级级a在线观看 | 亚欧有色在线观看免费版高清 | 特级淫片欧美高清视频蜜桃 | 国产福利在线免费观看 | 天天狠天天天天透在线 | 久久噜国产精品拍拍拍拍 | xxxxx性bbbbb欧美| 97蝌蚪自拍自窝 | 天美麻豆 | 超鹏97国语 | 美女视频一区二区三区在线 | 亚洲高清一区二区三区四区 | jzzjzz视频免费播放 | 极品虎白女在线观看一线天 | 欧美日本道免费一区二区三区 | 丝瓜视频黄色在线观看 | 国产亚洲成归v人片在线观看 | 国产精品一区二区三区久久 | 国产欧美日韩精品一区二区三区 | 国产成人看片免费视频观看 | 欧美se图 | 无人在线观看免费高清视频播放 | 亚洲精品福利在线 | 99精品免费在线 | 国产一级片免费观看 | 日韩国产欧美一区二区三区 | 91禁漫 | 无码人妻丰满熟妇啪啪网不卡 | 四虎精品成人免费影视 | 白丝尤物的下面被疯狂蹂躏 | 掀开奶罩边躁狠狠躁软学生 | 国产成人精品视频频 | 午夜精品国产 | 我把寡妇日出水好爽 | 日产乱码卡1卡2卡三卡四在线 | 激情文学综合网 | 香蕉tv国产在线永久播放 | 99久久综合精品免费 |