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

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

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

服務器之家 - 編程語言 - PHP教程 - php繼承中方法重載(覆蓋)的應用場合

php繼承中方法重載(覆蓋)的應用場合

2020-09-03 14:21php之路 PHP教程

這篇文章主要介紹了php繼承中方法重載(覆蓋)的應用場合,以實例形式較為詳細的分析了重載的用法與對應的適用情況及使用技巧,需要的朋友可以參考下

本文實例分析了php繼承方法重載(覆蓋)的應用場合。分享給大家供大家參考。具體分析如下:

方法重載(override)/覆蓋——在什么情況下使用:當父類知道所有的子類都需要用到一個方法,但父類不知道怎么去寫這個方法時,就需要用到方法的重載。這時候,可以讓子類去重寫,來覆蓋這個方法。

通俗實例——父類(動物)知道其子類(貓和狗)都會叫,但它們的叫法都不一樣,所以父類沒法去寫這個方法,只能讓子類(貓和狗)去定義。代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
class Animal{
 public $name;
 protected $price;
 
 function cry(){
 echo "不知道動物怎么叫";
 }
}
class Dog extends Animal{
 function cry(){
 echo "汪汪...";
 }
}
class Pig extends Animal{
 function cry(){
 echo "哼哼..."
 }
}
?>

方法重載/覆蓋的要點與細節(讀起來有點呦口):

1、要求子類的方法,其方法名稱、參數列表與父類方法一模一樣。如例子中cry(),不能添加參數,改成cry($naaa)等。注意:這里并不要求參數名一樣,只是要求參數的個數是一樣的。
2、所謂的重載或覆蓋,并不是將父類的方法覆蓋。也可以這么理解:如果子類有調用該方法時,如果在自己類里找不到這個方法,那么它會去找父類里,看有沒有這個方法。這也是多態的理解
3、如果子類里某個方法,要把父類里相同名稱方法里的內容繼承下來,可以使用 parent::方法名 或 父類名::方法名 繼承。在子類定義的方法內使用。
4、訪問權限問題,子類的訪問范圍>=父類的訪問范圍,即如果父類是protected function cry(),子類則只能是protected或public。

希望本文所述對大家的php程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人依依网 | 大奶妈咪女教师 | 国产一区二区免费福利片 | 无码中文字幕热热久久 | 海角社区在线视频 | 日本一卡二卡3卡四卡无卡网址 | 500福利第一巨人导航 | 美女被草逼 | 亚洲狠狠婷婷综合久久久久网站 | 国产第一福利视频导航在线 | 亚洲春色综合另类网蜜桃 | 日韩在线观看网站 | 精品午夜视频 | 四虎影院免费视频 | 色综合中文字幕在线亚洲 | 久久国产精品无码视欧美 | 欧美国产日本高清不卡 | 精品午夜寂寞黄网站在线 | 免费在线影院 | 99久久精品免费看国产高清 | 国产三级精品久久三级国专区 | 五月天国产视频 | 999国产精品亚洲77777 | 99久久精彩视频 | 精品国产免费久久久久久 | 久久精品99国产精品日本 | 韩国三级hd中文字幕李采潭 | 色婷婷婷丁香亚洲综合不卡 | 亚洲成aⅴ人片在线 | 日本三级在丈面前被耍了 | 男gaygays免费网站多人 | 亚州精品视频 | 国产性做久久久久久 | 国产免费一区二区三区免费视频 | 亚洲AV 中文字幕 国产 欧美 | 国内精品国语自产拍在线观看55 | 皇上撞着太子妃的秘密小说 | 女人特黄大aaaaaa大片 | 精品成人一区二区三区免费视频 | 欧美同性gayvidoes | 成人区精品一区二区毛片不卡 |