簡介:這是php學習筆記------[php中物件導向三大特性之一[繼承性]的應用]的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=338490' scrolling='no'>
<?php/* * 繼承性: * 1.物件導向的三大特性之一 * * 2.開放性、可擴充性 * * 3.增加代碼的重用性 * * 4.提高了軟體的可維護性 * * 5.繼承就是用子類去“擴充”父類 * * C++ 屬於多繼承,同一個類可以有多個父類 * * PHP和JAVA屬於單繼承,同一個類只能有一個父類 * * 不管是多繼承或者單繼承,都可以有多個子類 * *只要你在設計兩個類時,有可以共用的成員,就將可以共用的內容單獨作為一個基類使用 * * 一、類繼承的應用 * * 1.聲明一個子類,使用extends關鍵字去繼承(擴充)一個父類 * * 2.子類可以從父類中繼承所有的內容,包括成員屬性方法,構造方法......,在子類中都可以使用 * * 二、訪問類型控制 * * 雖然子類可以從父類中繼承所有內容,但私人的private成員,只能在本類中使用,子類中也不能使用 * * 封裝時,既可以讓自己類的內部可以訪問,也讓子類可以用,但類的外部不能使用,只要將使用權限設定為protected * * * * 三、子類中重載父類的方法 * * 1.子類可以聲明可以聲明和父類相同的方法名,即子類覆蓋了父類同名的方法 * * 2.子類的方法對父類方法的擴充 * * 3.在子類中調用父類中被覆蓋的方法 * 使用 父類名::方法名() parent::方法名() * * 4.在子類中編寫構造方法,如果父類中也有構造方法,一定要去調用一次父類中被覆蓋的構造方法 * *注意:子類中重載的方法,不能低於父類中存取權限(子類可以放大許可權,但不能縮小許可權) * * * * * * * * */class Person{protected $name;//protected保護的許可權,在子類可以訪問,外部不能訪問protected $age;protected $sex;function __construct($name,$age,$sex){$this->name=$name;//當使用this時,就算name沒有聲明,也會再次聲明一個$this->age=$age;$this->sex=$sex;echo "###############";}public function say(){echo "我的名字:{$this->name},我的年齡{$this->age}:,我的性別:{$this->sex}<br/>";}protected function eat(){echo "wwwwwwwwwwwwwwwwwwwww<br>";}function run(){}protected $name;//protected保護的許可權,在子類可以訪問,外部不能訪問protected $age;protected $sex;}//繼承class Student extends Person{var $school;function __construct($name,$age,$sex,$school){parent::__construct();//調用父類的構造方法$this->school=$school;}//重載say()方法,進行擴充protected function say(){//父類使用public,子類的許可權不能低於父類,可以喝父類的許可權相同//Person::say();//調用父類的say()方法parent::say();//調用父類say()方法,parent代表父類名,當父類名變化時也能夠調用。echo "我所在的學校{$this->school}<br/>";}function study(){echo "{$this->name}在學習<br/>";}}$s=new Student("zhangsan",23,"男");$s->say();$s->study();?>
愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具
http://biancheng.dnbcw.info/php/338490.html pageNo:9