1.重載 Overload
子類改變父類的方法,為重載。
重載是一種覆蓋性行為,會(huì)將以前的方法覆蓋掉。
2.重載案例:
- <?php
- class EMBA_student // 聲明EMBA學(xué)生類
- {
- //用var來定義類的屬性
- var $no; //序號(hào)
- var $name; // 姓名
- var $gender; //性別
- var $age; //年齡
- //方法
- //方法1 ,設(shè)定學(xué)生的信息方法
- function set_data ($arr)
- {
- $this->no=$arr["no"];
- $this->name=$arr["name"];
- $this->gender=$arr["gender"];
- $this->age=$arr["age"];
- }
- // 方法2, 讓學(xué)生年齡長大$i歲
- function set_grow($i)
- {
- $this->age+=$i;
- }
- //方法3 ,輸出學(xué)生信息的方法
- function get_data()
- {
- echo "<br />
- <b>長江商學(xué)院EMBA班學(xué)生信息</b><br />
- ";
- echo"學(xué)號(hào):$this->no<br />";
- echo"姓名:$this->name<br />";
- echo"性別:$this->gender<br />";
- echo"年齡:$this->age<br />";
- }
- }
- // 繼承EMBA學(xué)生類,來創(chuàng)建一個(gè)EMBA方向類
- class college_student extends EMBA_student{
- var $department; //定義一個(gè)新的屬性所在系
- function change_department($new_department) //定義一個(gè)新的方法,更換所在系
- {
- $this->department=$new_department; //讓學(xué)員所在系變成參數(shù)系
- }
- //重載父類的方法,設(shè)定學(xué)員的信息
- function set_data($arr){
- $this->no=$arr["no"];
- $this->name=$arr["name"];
- $this->gender=$arr["gender"];
- $this->age=$arr["age"];
- $this->department=$arr["department"];
- }
- }
- //實(shí)例化一個(gè)對(duì)象
- $s=new college_student;
- $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商業(yè)營銷");
- $s->set_data($arr);
- // $s->department="商業(yè)營銷"; 因?yàn)椴捎昧撕瘮?shù)的重載,所以不需要在這個(gè)地方為對(duì)象賦值了
- echo"該學(xué)員所在專業(yè)為:$s->department<br />";
- $s->change_department("哲學(xué)工商管理");
- echo"該學(xué)員所在專業(yè)為:$s->department<br />";
- $s->get_data();
- ?>
先定義屬性,然后直接以[]來定義鍵名。
- class EMBA_student // 聲明EMBA學(xué)生類
- {
- //用var來定義類的屬性
- var $no; //序號(hào)
- var $name; // 姓名
- var $gender; //性別
- var $age; //年齡
- //方法
- //方法1 ,設(shè)定學(xué)生的信息方法
- function set_data ($arr)
- {
- $this->no=$arr["no"];
- $this->name=$arr["name"];
- $this->gender=$arr["gender"];
- $this->age=$arr["age"];
- }
- }
新聞熱點(diǎn)
疑難解答