国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:31:04
字體:
來源:轉載
供稿:網友

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

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

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

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

 

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

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

1、要求子類的方法,其方法名稱、參數列表與父類方法一模一樣。如例子中cry(),不能添加參數,改成cry($naaa)等。注意:這里并不要求參數名一樣,只是要求參數的個數是一樣的。

2、所謂的重載或覆蓋,并不是將父類的方法覆蓋。也可以這么理解:如果子類有調用該方法時,如果在自己類里找不到這個方法,那么它會去找父類里,看有沒有這個方法。這也是多態的理解

3、如果子類里某個方法,要把父類里相同名稱方法里的內容繼承下來,可以使用 parent::方法名 或 父類名::方法名 繼承。在子類定義的方法內使用。

4、訪問權限問題,子類的訪問范圍>=父類的訪問范圍,即如果父類是protected function cry(),子類則只能是protected或public。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳西县| 乌鲁木齐市| 收藏| 泰顺县| 义乌市| 丰台区| 周宁县| 彭山县| 即墨市| 牟定县| 安仁县| 清苑县| 古田县| 长沙县| 株洲县| 滨海县| 五指山市| 翼城县| 淳安县| 阳东县| 鸡西市| 赞皇县| 凭祥市| 金堂县| 沭阳县| 尚义县| 永定县| 陆丰市| 宜阳县| 汽车| 巴楚县| 滨海县| 方城县| 苏尼特右旗| 阳信县| 方正县| 北京市| 同心县| 漳平市| 西乌| 化德县|