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

首頁 > 語言 > PHP > 正文

PHP面向對象程序設計(OOP)之方法重寫(override)操作示例

2024-05-05 00:05:59
字體:
來源:轉載
供稿:網友

本文實例講述了PHP面向對象程序設計(OOP)之方法重寫(override)操作。分享給大家供大家參考,具體如下:

因為PHP是弱類型的語言, 所以在方法的參數中本身就可以接收不同類型的數據,又因為PHP的方法可以接收不定個數的參數,所以通過傳遞不同個數的參數調用不相同方法名的不同方法也是不成立的,所以php是不能重載的。

雖然說在PHP里面不能定義同名的方法, 但是在父子關系的兩個類中,我們可以在子類中定義和父類同名的方法,這樣就把父類中繼承過來的方法覆蓋掉了(重寫父類方法)。

<?phpclass Person{//下面是人的成員屬性var $name; //人的名子var $sex; //人的性別var $age; //人的年齡//定義一個構造方法參數為屬性姓名$name、性別$sex和年齡$age進行賦值function __construct($name, $sex, $age) {$this->name = $name;$this->sex = $sex;$this->age = $age;}//這個人可以說話的方法, 說出自己的屬性function say() {echo "my name is:" . $this->name . " sex:" . $this->sex . " my age is:" . $this->age;}}//定義一個子類“學生類“使用”extends”關鍵字來繼承”人”類:class Student extends Person{var $school; //學生所在學校的屬性function __construct($name,$sex,$age,$school){parent::__construct($name,$sex,$age);$this->school = $school;}// 重寫父類的say()方法function say(){echo "my name is:" . $this->name ." my school is:" . $this->school;}//這個學生學習的方法function study(){echo "my name is:" . $this->name . " my school is:" . $this->school;}}?>

另外在子類覆蓋父類的方法時也要注意一點,子類中方法的訪問權限一定不能低于父類被覆蓋方法的訪問權限,也就是一定要高于或等于父類方法的訪問權限。

例如,如果父類方法的訪問權限是protected,那么子類中要覆蓋的權限就要是protectedpublic,如果父類的方法是public那么子類中要覆蓋的方法只能也是public,總之子類中的方法總是要高于或等于父類被覆蓋方法的訪問權限。

上面的例子, 我們就在“Student”子類里覆蓋了繼承父類里面的”say()”的方法,通過覆蓋我們就實現了對“方法”擴展。但是,像這樣 做雖然解決了我們上面說的問題,但是在實際開發中,一個方法不可能就一條代碼或是幾條代碼,比如說“Person”類里面的“say()”方法有里面有 100條代碼,如果我們想對這個方法覆蓋保留原有的功能外加上一點點功能,就要把原有的100條代碼重寫一次, 再加上擴展的幾條代碼,這還算是好的,而有的情況,父類中的方法是看不見原代碼的,這個時候你怎么去重寫原有的代碼呢?我們也有解決的辦法,就是在子類這 個方法中可以調用到父類中被覆蓋的方法, 也就是把被覆蓋的方法原有的功能拿過來再加上自己的一點功能,可以通過兩種方法實現在子類的方法中調用父類被覆蓋的方法:

  • 一種是使用父類的“類名::“來調用父類中被覆蓋的方法;
  • 一種是使用“parent::”的方試來調用父類中被覆蓋的方法;
//定義一個子類“學生類“使用”extends”關鍵字來繼承”人”類:class Student extends Person{var $school; //學生所在學校的屬性function __construct($name,$sex,$age,$school){parent::__construct($name,$sex,$age);$this->school = $school;}// 重寫父類的say()方法function say(){//使用父類的"類名::"來調用父類中被覆蓋的方法;// Person::say();//或者使用"parent::"的方試來調用父類中被覆蓋的方法;parent::say();echo "my name is:" . $this->name ." my school is:" . $this->school;}//這個學生學習的方法function study(){echo "my name is:" . $this->name . " my school is:" . $this->school;}}

現在用兩種方式都可以訪問到父類中被覆蓋的方法,我們選那種方式最好呢?用戶可能會發現自己寫的代碼訪問了父類的變量和函數。如果子類非常精煉或者父類非 常專業化的時候尤其是這樣。 不要用代碼中父類文字上的名字,應該用特殊的名字 parent,它指的就是子類在 extends 聲明中所指的父類的名字。這樣做可以避免在多個地方使用父類的名字。如果繼承樹在實現的過程中要修改,只要簡單地修改類中 extends 聲明的部分。

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线观看网站| 久久欧美在线电影| 97香蕉超级碰碰久久免费软件| 成年无码av片在线| 在线观看欧美视频| 色噜噜狠狠狠综合曰曰曰88av| 日韩美女激情视频| 国产91成人在在线播放| 久久这里只有精品99| 国产精品日韩精品| 午夜精品久久久久久久99热浪潮| 国产精品高清在线| 国产精品看片资源| 亚洲成av人影院在线观看| 欧美理论片在线观看| 俺去亚洲欧洲欧美日韩| 亚洲欧美日韩第一区| 精品福利免费观看| 亚洲人成网7777777国产| 亚洲国产精品va在看黑人| 日韩av电影中文字幕| 亚洲视频视频在线| 伊人伊成久久人综合网小说| 久久久天堂国产精品女人| 久久久精品久久久久| 亚洲国产毛片完整版| 国产亚洲免费的视频看| 日韩中文字幕网站| 久久久久久久国产精品视频| 亚洲人成电影网站色www| 国产精品视频导航| 国产成人高清激情视频在线观看| 国产精品久久久久久网站| 欧美国产视频一区二区| 精品福利在线观看| 亚洲性av在线| 国产精品免费一区二区三区都可以| 久久久精品中文字幕| 欧美日韩中文字幕日韩欧美| 日韩高清av在线| 日韩欧美一区二区三区| 欧美精品在线免费观看| 国产福利精品在线| 久久亚洲精品国产亚洲老地址| 日本国产一区二区三区| 欧美极品美女视频网站在线观看免费| 亚洲欧美日韩视频一区| 亚洲一区二区三区四区视频| 国产欧美韩国高清| 色狠狠久久aa北条麻妃| 久久国产精品久久国产精品| 综合欧美国产视频二区| xxxxxxxxx欧美| 国产精品毛片a∨一区二区三区|国| 欧美日韩国产综合视频在线观看中文| 亚洲欧美色图片| 在线性视频日韩欧美| 国产视频精品免费播放| 在线电影av不卡网址| 欧美亚洲国产视频| 97视频在线观看视频免费视频| 国产成人精品在线播放| 青青草国产精品一区二区| 最近2019中文字幕大全第二页| 欧美精品videosex牲欧美| 色狠狠久久aa北条麻妃| 欧美精品少妇videofree| 国产精品极品美女粉嫩高清在线| 久久久伊人欧美| 69**夜色精品国产69乱| 狠狠躁夜夜躁人人爽天天天天97| 神马国产精品影院av| 91精品国产高清自在线看超| 黑人与娇小精品av专区| 91精品国产成人www| 欧美一级电影久久| 亚洲黄色av网站| 欧美高清在线播放| 亚洲va欧美va在线观看| 亚洲精品一区在线观看香蕉| 日韩在线观看免费高清完整版| 欧美日韩午夜视频在线观看| 国产+成+人+亚洲欧洲| 95av在线视频| 国产99视频精品免视看7| 久久国产加勒比精品无码| 亚洲综合在线播放| 成人免费在线网址| 成人高h视频在线| 久久影视免费观看| 在线免费看av不卡| 亚洲精品成人久久久| 欧美成人午夜免费视在线看片| 亚洲一区中文字幕在线观看| 日韩在线免费视频观看| 欧美激情按摩在线| 欧美在线免费观看| 日韩av影院在线观看| 青青精品视频播放| 亚洲影院高清在线| 日韩在线观看电影| 国产又爽又黄的激情精品视频| 欧美性在线视频| 久久精品国产电影| 69影院欧美专区视频| 欧美裸体男粗大视频在线观看| 亚洲国产精品成人va在线观看| 亚洲日韩中文字幕在线播放| 欧美激情高清视频| 国内成人精品视频| 日本午夜在线亚洲.国产| 国产美女直播视频一区| 91精品国产综合久久男男| 日本不卡高字幕在线2019| 亚洲第一中文字幕在线观看| 亚洲精品国精品久久99热一| 中文字幕在线亚洲| 91久久综合亚洲鲁鲁五月天| 成人有码在线视频| 欧美午夜丰满在线18影院| 国产精品成人一区| 久久免费少妇高潮久久精品99| 高清欧美性猛交xxxx黑人猛交| 国内免费久久久久久久久久久| 亚洲欧美在线第一页| 国产成人精品一区二区三区| 狠狠色噜噜狠狠狠狠97| 国产一区二区欧美日韩| 久久在线观看视频| 丝袜一区二区三区| 精品露脸国产偷人在视频| 日韩成人激情在线| 亚洲最新av网址| 国外成人在线视频| 日产精品99久久久久久| 国模私拍视频一区| 91亚洲永久免费精品| 欧美性猛交xxxx免费看| 精品欧美一区二区三区| 久久精品成人一区二区三区| 国产成人综合精品| 国产中文日韩欧美| 欧美日韩一区二区免费视频| 欧美黄网免费在线观看| 日韩电影免费在线观看中文字幕| 91chinesevideo永久地址| 777国产偷窥盗摄精品视频| 尤物tv国产一区| 亚洲a级在线观看| 亚洲美女动态图120秒| 日韩亚洲综合在线| 91免费在线视频| 日韩av免费在线看| 久久久久久97| 91国产精品视频在线| 亚洲人成电影在线播放| 日产精品久久久一区二区福利| 国产一区二区三区中文| 久久精品国产一区| 91久久国产精品91久久性色| 草民午夜欧美限制a级福利片| 日韩中文字幕国产精品| 在线观看亚洲区| 亚洲美女久久久|