激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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());
?>


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产91对白叫床清晰播放 | 成年免费大片黄在线观看岛国 | 国产免费观看视频 | 亚洲综合无码一区二区 | 国产精品无码久久久久 | 日本免费a∨ | 在线视频观看一区二区 | 国产一国产一级毛片视频在线 | 999久久国精品免费观看网站 | 激情97 | 秋霞a级毛片在线看 | 久久激情免费视频 | 四虎久草 | 精品国产一区二区三区四区在线 | 国产色视频免费 | 一级做a在线观看 | 国产成年人网站 | 成人午夜毛片 | 日本一级黄色大片 | 国产成人精品区 | 香蕉久久久久 | 性猛交ⅹxxx乱巴西 在线播放中文 | 欧美视频国产精品 | 亚洲国产精品久久久久久久 | 欧美在线成人影院 | 免费一级欧美 | 日韩视频在线观看免费 | 一区二区久久久久草草 | 日本在线视频免费观看 | 免费黄色成人 | 在线免费91 | 国产精品美女久久久久久网站 | 欧美日韩在线影院 | 久久久久国产成人精品亚洲午夜 | 羞羞电影在线观看www | 欧美精品一区二区三区久久久 | 精品一区二区中文字幕 | 免费看成人av| a网在线 | 日韩视频在线观看免费视频 | 91成人在线网站 |