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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - PHP教程 - 深入分析php中接口與抽象類的區別

深入分析php中接口與抽象類的區別

2020-04-08 14:48PHP教程網 PHP教程

本篇文章是對php中接口與抽象類的區別進行了詳細的分析介紹,需要的朋友參考下

接口和抽象類真的很難區分開,引文他們很相似,方法都沒有定義邏輯,都是供子類是想或繼承的。區分二者只要記住一句話:接口是規范,類是實現。接口的目的是定義一個規范,大家都遵守這個規范。

也就是說,從目的上可以很清楚地區分接口和抽象類。那么還是有疑問,既然有了借口,那么為什么還必須有抽象類呢?

加入我們要定義一個名為Animal的類,該類有兩個子集Dog和Cattle,二者都有兩個方法:run()方法和speak()方法。

假定Dog和Cattle的“跑(run)”是相同的,因此run()方法具有相同的業務邏輯;而“叫(speak)”是不同的,因此speak()方法的業務邏輯不同。而且,有一個IAnimal的接口規定必須有這兩個方法,這意味著Animal類必須實現這兩個方法,同樣,Dog和Cattle這兩個子類也必須有這兩個方法嗎,那么我們可以這樣定義:

復制代碼 代碼如下:


<?php
interface IAnimal{
 public function run();
 public function speak();
}
class Animal implements IAnimal{
 public function run(){
  //在這里可以添加一些相同的run邏輯
  return "same run<br />";
 }
 public function speak(){
  //這里可以添加一些相同的speak邏輯
  return "same speak<br />";
 }
}
class Dog extends Animal{
 public function speak(){
  //在這里可以添加一些Dog邏輯
  return "Dog speak<br />";
 }
}
class Cattle extends Animal{
 public function speak(){
  //在這里可以添加一些Cattle邏輯
  return "Cattle speak<br />";
 }
}
$oDog=new Dog();
echo($oDog->run());
echo($oDog->speak());
$oCattle=new Cattle();
echo($oCattle->run());
echo($oCattle->speak());
?>


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级在线视频 | 欧美黑人ⅹxxx片 | 亚州人成网在线播放 | 亚洲 欧美 日本 国产 高清 | 国产香蕉一区二区在线网站 | 搡60一70岁的老女人小说 | 色狠狠色狠狠综合天天 | 国产麻豆精品入口在线观看 | 亚洲高清毛片一区二区 | 日本b站一卡二不卡三卡四卡 | 亚洲AV永久无码精品澳门 | 精品久久99麻豆蜜桃666 | www.久久艹| 国产精品九九热 | 亚洲性夜| 放荡的女老板bd中文字幕 | 波多野结衣黑人系列在线观看 | 久久精品中文闷骚内射 | 成人在线视频播放 | 四虎精品成人免费影视 | 日韩在线a视频免费播放 | 奇米社区 | 韩国女主播一区二区视频 | 精品在线观看一区 | 亚洲精品短视频 | 爱豆传媒最新视频国产 | 亚洲瑟瑟网 | 亚洲成人福利 | 亚飞与亚基高清国语在线观看 | 学生小泬无遮挡女HD | 亚洲国产日韩欧美一区二区三区 | 91视频免费网站 | 天天欲色成人综合网站 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 肉文小说| 大胸孕妇孕交pregnantsex 大象视频污 | 四虎在线精品免费高清在线 | 日本加勒比一区 | 韩国理论三级在线观看视频 | 日韩香蕉网 | 国产福利在线观看永久视频 |