您好,登錄后才能下訂單哦!
<?php /* 繼承性 1.面向?qū)ο蟮娜筇匦灾? 2.開(kāi)放性,可擴(kuò)充性 3.增加代碼的重用性 4.提高了軟件的可維護(hù)性 php 使弱類型語(yǔ)言,沒(méi)有重載的概念 子類中重載父類的方法 子類可以聲明和父類相同的方法名,即子類覆蓋父類中同名的方法 在子類中調(diào)用父類中被覆蓋的方法 parent::方法名 在子類中編寫(xiě)構(gòu)造方法,如果父類中也有構(gòu)造方法,一定要調(diào)用父類中的構(gòu)造方法 注意:子類中重載的方法,不能低于父類中的訪問(wèn)權(quán)限(子類可以放大權(quán)限,但不能縮小權(quán)限) */ include "./Person.class.php"; class Student extends Person{ var $school; function __construct($name="name1",$age =20,$sex="女", $school){ $this->name=$name; $this->age=$age; $this->sex=$sex; $this->school = $school; } function study(){ echo $this->age; echo $this->name.":我在{$this->school}學(xué)習(xí)<br>"; } /* 覆蓋父類的say(),子類中重載的方法,不能低于父類中的訪問(wèn)權(quán)限(子類可以放大權(quán)限,但不能縮小權(quán)限) 父類中是public function say(){} 子類中變成了private function say(){} private function say(){ echo "{$this->name}:我在{$this->school}學(xué)習(xí)呢,請(qǐng)不要打擾我<br>"; } 這時(shí)候會(huì)報(bào)錯(cuò)Fatal error: Access level to Student::say() must be public (as in class Person */ public function say(){ parent::say(); echo "{$this->name}:我在{$this->school}學(xué)習(xí)呢,請(qǐng)不要打擾我<br>"; } } #$student = new Student; #$student->school="北京大學(xué)附屬中學(xué)"; #$student->name="haha"; #$student->age=32; #$student->study(); #$student->say(); $student2 = new Student("李會(huì)東",24,"男","北京大學(xué)"); #echo $student2->school; $student2->say(); ?>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。