php調(diào)用父類方法
php調(diào)用父類方法
PHP程序員們?cè)趯?shí)際編寫中使用PHP parent來指向父類指針,并調(diào)用父類的構(gòu)造函數(shù),對(duì)父類進(jìn)行初始化。下面由學(xué)習(xí)啦小編整理了幾種php 調(diào)用父類方法,希望對(duì)大家有所幫助。
php 調(diào)用父類方法(一)
class impro_mysqli extends mysqli{
/*顯示上一個(gè)插入記錄的ID*/
我們就不能使用!
代碼:
function id(){
return this->insert_id();
}
因?yàn)檫@樣程序會(huì)判斷在 impro_mysqli 中有個(gè)insert_id();的方法,然而實(shí)際上,并沒有!
而使用
代碼:
function id(){
return mysqli_insert_id();
}
雖然正確,但是失去了使用繼承的意義,那我們?cè)撛趺醋瞿??
很簡(jiǎn)單,我們只要使用 parent::(parent+2個(gè)英文字符的冒號(hào)) 字符就好了
所以想要調(diào)用父類的函數(shù),就可以寫成
代碼:
function id(){
return parent::insert_id();
}
php 調(diào)用父類方法(二)
<?php
class person {
public $name='Tom';
public $gender; //性別
public $money=1000;
public function __construct(){
echo '這里是父類',PHP_EOL;
}
public function say(){
echo $this->name,"\tis",$this->gender,"\r\n";
}
}
class family extends person{
public $name;
public $gender;
public $age;
public $money=100000;
public function __construct(){
parent::__construct(); //調(diào)用父類構(gòu)造方法
echo '這里是子類',PHP_EOL;
}
public function say(){
parent::say(); //調(diào)用父類方法
echo $this->name,"\tis\t",$this->gender,",and is\t",$this->age,PHP_EOL;
}
public function cry(){
echo parent::$money,PHP_EOL; //報(bào)錯(cuò),為什么不可以
echo '%>_<%',PHP_EOL;
echo self::$money,PHP_EOL; //調(diào)用自身構(gòu)造方法
echo '(*^_^*)';
}
}
$poor=new family();
$poor->name='李';
$poor->gender='女';
$poor->age=25;
$poor->say();
$poor->cry();
php 調(diào)用父類方法(三)
1 <?php
2 class EMBA_student // 聲明EMBA學(xué)生類
3 {
4 //用var來定義類的屬性
5 var $no; //序號(hào)
6 var $name; // 姓名
7 var $gender; //性別
8 var $age; //年齡
9
10 //方法
11 //方法1 ,設(shè)定學(xué)生的信息方法
12 function set_data ($arr)
13 {
14 $this->no=$arr["no"];
15 $this->name=$arr["name"];
16 $this->gender=$arr["gender"];
17 $this->age=$arr["age"];
18 }
19 // 方法2, 讓學(xué)生年齡長(zhǎng)大$i歲
20 function set_grow($i)
21 {
22 $this->age+=$i;
23 }
24 //方法3 ,輸出學(xué)生信息的方法
25 function get_data()
26 {
27 echo "<br />
28 <b>長(zhǎng)江商學(xué)院EMBA班學(xué)生信息</b><br />
29 ";
30
31 echo"學(xué)號(hào):$this->no<br />";
32 echo"姓名:$this->name<br />";
33 echo"性別:$this->gender<br />";
34 echo"年齡:$this->age<br />";
35
36 }
37 }
38 // 繼承EMBA學(xué)生類,來創(chuàng)建一個(gè)EMBA方向類
39 class college_student extends EMBA_student{
40 var $department; //定義一個(gè)新的屬性所在系
41 //重載父類的方法,設(shè)定學(xué)員的信息
42 function set_data($arr)
43 {
44 parent::set_data($arr);
45 $this->department=$arr["department"];
46 }
47 function change_department($new_department) //定義一個(gè)新的方法,更換所在系
48 {
49 $this->department=$new_department; //讓學(xué)員所在系變成參數(shù)系
50 }
51 //輸出學(xué)生的信息
52 function get_data(){
53 parent::get_data();
54 echo"學(xué)習(xí)方向:$this->department<br />";
55 }
56
57 }
58 //實(shí)例化一個(gè)對(duì)象
59 $s=new college_student;
60 $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商業(yè)營(yíng)銷");
61 $s->set_data($arr);
62 $s->get_data();
63
64
65
66 ?>