也就是說,從目的上可以很清楚地區(qū) " /> 亚洲精品资源网在线观看,亚洲色欲啪啪久久WWW综合网,岛国片免费在线观看

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

深入分析php中接口與抽象類的區(qū)別

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

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

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

假定Dog和Cattle的“跑(run)”是相同的,因此run()方法具有相同的業(yè)務(wù)邏輯;而“叫(speak)”是不同的,因此speak()方法的業(yè)務(wù)邏輯不同。而且,有一個(gè)IAnimal的接口規(guī)定必須有這兩個(gè)方法,這意味著Animal類必須實(shí)現(xiàn)這兩個(gè)方法,同樣,Dog和Cattle這兩個(gè)子類也必須有這兩個(gè)方法嗎,那么我們可以這樣定義:
復(fù)制代碼 代碼如下:
<?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());
?>

php技術(shù)深入分析php中接口與抽象類的區(qū)別,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品成人久久久久A伋 国产精品成人观看视频免费 | 一级毛片西西人体44rt高清 | 日本毛片久久国产精品 | 男女作爱在线播放免费网页版观看 | 丁香美女社区 | 羞羞答答影院在线 | 97SE亚洲国产综合在线 | 国产成人精品免费视频下载 | 欧美日韩精品 | 国产成人免费在线 | 国产免费午夜 | 国产亚洲一区在线 | 免费无码一区二区三区蜜桃大 | 色午夜日本高清视频www | 日韩欧美精品有码在线播放 | 国产乱人精品视频AV麻豆 | 亚洲爆乳无码精品AAA片蜜桃 | 一边捏奶头一边啪高潮会怎么样 | 亚洲一级电影 | 亚洲欧美偷拍视频一区 | 亚洲欧洲日韩天堂无吗 | 成人性生交片无码免费看 | 十分钟免费视频大全在线观看 | 午夜一级毛片看看 | 亚洲精品电影天堂网 | 护士们的母狗 | 午夜影院一区二区三区 | 寻找最美乡村教师颁奖晚会 | 色一情一乱一伦一区二区三区 | 99视频福利 | 热九九99香蕉精品品 | 幼儿交1300部一区二区 | 黄得让人湿的片段 | 美女尿口羞羞视频 | 亚洲 日韩 欧美 另类 蜜桃 | 抽插性奴中出乳精内射 | 天天色狠狠干 | 国产色精品久久人妻无码看片软件 | 黄色a三级免费看 | xxx日本高清视频hd | hd性欧美俱乐部中文 |