亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php中接口、抽象類、Final、Static例子

2024-09-04 11:43:49
字體:
來源:轉載
供稿:網友

在php中接口抽象類、Final、Static幾個我們用到的相當的簡單特別是大型網站架構時都會有用到了,今天我們來看一篇關于php中抽象類、Final、Static的例子。

1. 接口

(1)對接口的使用是通過關鍵字implements

(2)接口不能定義成員變量(包括類靜態變量),能定義常量

(3)子類必須實現接口定義的所有方法

(4)接口只能定義不能實現該方法

(5)接口沒有構造函數

(6)接口中的方法和實現它的類默認都是public類型的

2. 抽象類

(1)對抽象類的使用是通過關鍵字extends

(2)不能被實例化,可以定義子類必須實現的方法

(3)子類必須定義父類中的所有抽象方法,這些方法的訪問控制必須和父類中一樣(或者更為寬松)

(4)如一個類中有一個抽象方法,則該類必須定義為抽象類

(5)抽象類可以有構造函數

(6)抽象類中的方法可以使用private,protected,public來修飾。

(7)一個類可以同時實現多個接口,但一個類只能繼承于一個抽象類。

3. Final類/方法

(1)final類不能被繼承

(2)final方法不能被重寫

4. Static類/方法

(1)可以不實例化類而直接訪問

(2)靜態屬性不可以由對象通過->操作符來訪問,用::方式調用

例子:

  1. <?php 
  2. # 接口 
  3. interface Human{ 
  4.     const TEST_CONST = "test const"// 定義常量 
  5.     // public $v; // error,不能定義變量 
  6.     // static $count; // error,不能定義變量 
  7.     public function speak(); 
  8.     public function walk(); 
  9.     public function run(); 
  10.      
  11. # 抽象類 
  12. abstract class Father implements Human{ 
  13.      
  14.     public function __construct(){ 
  15.         echo "father init n"
  16.     } 
  17.      
  18.     abstract public function walk(); // 抽象方法 
  19.      
  20.     public function speak(){ 
  21.         echo "father speak skill n"
  22.     } 
  23.      
  24.     public function run(){ 
  25.         echo "father run skill n"
  26.     } 
  27.      
  28. # 非抽象類 
  29. class Mother implements Human{ 
  30.      
  31.     public function __construct(){ 
  32.         echo "mother init n"
  33.     } 
  34.      
  35.     # 這里必須實現walk方法 
  36.     public function walk(){ 
  37.         echo "mother walk skill n"
  38.     } 
  39.      
  40.     public function speak(){ 
  41.         echo "mother speak skill n"
  42.     } 
  43.      
  44.     public function run(){ 
  45.         echo "mother run skill n"
  46.     } 
  47.      
  48. class Son extends Father{ 
  49.      
  50.     public function walk(){ 
  51.         echo "son walk skill. n"
  52.     } 
  53.      
  54.     public function speak($name = ''){ 
  55.         echo "son: "$name ." speak skill. n"
  56.     } 
  57.      
  58.     # 訪問控制必須和父類中一樣(或者更為寬松) 
  59.     protected function sport(){ 
  60.         echo "son sport skill. n"
  61.     } 
  62.      
  63.     final public function notTeach(){ 
  64.         echo 'son has not to teach skill'
  65.     } 
  66.      
  67. class Daughter extends Mother{ 
  68.      
  69.     public function run($name = ''){ 
  70.         echo "daughter run skill. n"
  71.     } 
  72.      
  73.      
  74. final class GrandChild extends Son{ 
  75.          
  76.     # 訪問控制必須和父類中一樣(或者更為寬松) 
  77.     public function sport(){ 
  78.         echo "GrandChild sport skill. n"
  79.     } 
  80.      
  81.     # Cannot override final method Son::notTeach() 
  82.     // public function notTeach(){} // error 
  83. //Vevb.com 
  84.      
  85. #  Class Orphan may not inherit from final class (GrandChild) 
  86. // class Orphan extends GrandChild{}  // error 
  87.      
  88. $son = new Son(); 
  89. $son->speak("Suly"); 
  90.      
  91. $daughter = new Daughter(); 
  92. $daughter->run('Lily'); 
  93.      
  94. $grandChild = new GrandChild(); 
  95. $grandChild->sport(); 

抽象類和接口的區別:

1、對接口的使用是通過關鍵字implements。對抽象類的使用是通過關鍵字extends。當然接口也可以通過關鍵字extends繼承。

2、接口中不可以聲明成員變量(包括類靜態變量),但是可以聲明類常量。抽象類中可以聲明各種類型成員變量,實現數據的封裝。(另JAVA接口中的成員變量都要聲明為public static final類型)

3、接口沒有構造函數,抽象類可以有構造函數。
4、接口中的方法默認都是public類型的,而抽象類中的方法可以使用private,protected,public來修飾。

5、一個類可以同時實現多個接口,但一個類只能繼承于一個抽象類。

抽象類還是接口。

如果要創建一個模型,這個模型將由一些緊密相關的對象采用,就可以使用抽象類。如果要創建將由一些不相關對象采用的功能,就使用接口。

如果必須從多個來源繼承行為,就使用接口。

如果知道所有類都會共享一個公共的行為實現,就使用抽象類,并在其中實現該行為。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产综合在线视频| 日韩电影在线观看永久视频免费网站| 国产91在线播放九色快色| 欧美激情亚洲自拍| 91精品国产自产在线| 国产日本欧美一区| 精品夜色国产国偷在线| 亚洲第一精品夜夜躁人人爽| 欧美午夜影院在线视频| 国产精品久久av| 久久全国免费视频| 中文字幕免费精品一区| 亚洲免费视频网站| 91免费高清视频| 亚洲欧美国产制服动漫| 欧美视频在线观看 亚洲欧| 亚洲精品天天看| 欧美日韩在线视频一区| 久久久久北条麻妃免费看| 亚州av一区二区| 一本一本久久a久久精品综合小说| 欧美激情极品视频| 在线日韩av观看| 成人午夜激情网| 精品久久久久久久久久久久| 日本精品久久中文字幕佐佐木| 粉嫩老牛aⅴ一区二区三区| 久久久久久久久久久免费| 欧美精品videosex牲欧美| 久久亚洲综合国产精品99麻豆精品福利| 国产成人在线亚洲欧美| 欧美日韩国产精品专区| 亚洲理论片在线观看| 久久久久久久久爱| 日韩精品视频免费在线观看| 国产成人精品在线| 蜜月aⅴ免费一区二区三区| 久久精品久久久久久国产 免费| 日韩成人在线网站| 2019中文字幕全在线观看| 欧美日韩免费观看中文| 国产精品男人的天堂| 国产精品久久久久免费a∨大胸| 国产激情久久久久| 亚洲欧美日韩一区在线| 97视频在线观看免费高清完整版在线观看| 亚洲精品一区av在线播放| 亚洲成人在线视频播放| 欧美插天视频在线播放| 91成人福利在线| 久久偷看各类女兵18女厕嘘嘘| 一区二区三区黄色| 国产精品视频xxxx| 亚洲区免费影片| 国产欧美精品久久久| 亚洲综合成人婷婷小说| 97精品视频在线| 精品香蕉一区二区三区| 久久久久久成人精品| 亚洲一区二区三区香蕉| 欧美精品日韩www.p站| 精品欧美aⅴ在线网站| 欧美精品精品精品精品免费| 亚洲欧洲免费视频| 亚洲乱码国产乱码精品精| 亚洲激情在线观看| 亚洲日韩中文字幕在线播放| 91精品视频观看| 姬川优奈aav一区二区| 国产综合福利在线| 亚洲国产日韩欧美在线99| 欧美性感美女h网站在线观看免费| 久久久久五月天| 久久777国产线看观看精品| 欧美日韩国产黄| 性色av一区二区三区免费| 国产91免费观看| 国产精品免费久久久| 欧美与黑人午夜性猛交久久久| 欧美性猛交xxxx| 中文字幕亚洲一区二区三区| 国产精品男女猛烈高潮激情| 久久视频这里只有精品| 欧美精品video| 自拍亚洲一区欧美另类| 欧美一级淫片aaaaaaa视频| 在线观看视频亚洲| 欧美在线国产精品| 不卡av电影院| 国产v综合ⅴ日韩v欧美大片| 色偷偷噜噜噜亚洲男人| 久久男人的天堂| 黑人极品videos精品欧美裸| 亚洲网站在线播放| 欧美日韩在线免费观看| 亚洲日韩欧美视频| 欧美在线激情视频| 欧美精品一区三区| 疯狂做受xxxx高潮欧美日本| 亚洲老板91色精品久久| 国产精品v日韩精品| 在线视频欧美日韩| 狠狠躁夜夜躁人人爽天天天天97| 亚洲国产成人精品女人久久久| 中文字幕欧美专区| 97视频在线观看亚洲| 8x拔播拔播x8国产精品| 国产成人在线播放| 欧美视频在线免费看| 九九热精品在线| 俺去亚洲欧洲欧美日韩| 亚洲香蕉成人av网站在线观看| 亚洲男人的天堂在线| 日韩免费av片在线观看| 欧美激情久久久久久| 久久久电影免费观看完整版| 青青草成人在线| 亚洲自拍高清视频网站| 国产日韩欧美日韩大片| 日韩av最新在线观看| 国内精品久久影院| 一本色道久久88精品综合| 日韩在线观看免费网站| 国产精品久久久久久av下载红粉| 午夜精品一区二区三区在线| 欧美有码在线观看| 亚洲国产精品资源| 欧美日韩国产第一页| 亚洲激情视频在线播放| 日韩a**站在线观看| 亚洲最大成人网色| 久久人人爽人人| 亚洲激情视频网站| 国产一区二区三区三区在线观看| 亚洲国产欧美一区二区丝袜黑人| 国产精品狼人色视频一区| 国产精品久久久久久影视| 亚洲女人天堂av| 成人网在线视频| 亚洲视频在线观看免费| 欧美午夜丰满在线18影院| 国产精品美女www爽爽爽视频| 亚洲福利在线看| 色偷偷9999www| 久久99视频精品| 韩剧1988在线观看免费完整版| 日韩高清人体午夜| 欧洲成人免费视频| 国内精品久久久久久影视8| 国产精欧美一区二区三区| 欧美日韩一二三四五区| 国产精品久久久久久久久久免费| 亚洲精品国产拍免费91在线| 伊人伊成久久人综合网小说| 久久久女女女女999久久| 国产精品久久久久av| 成人久久一区二区三区| 久久久精品影院| 亚洲精品mp4| 中文精品99久久国产香蕉| 国产精品69久久| 91免费的视频在线播放| 日韩精品在线看| 亚洲免费视频观看|