學(xué)習(xí)啦 > 知識大全 > 方法百科 > 產(chǎn)品使用方法 > php調(diào)用父類方法

php調(diào)用父類方法

時間: 陳哲凡673 分享

php調(diào)用父類方法

  PHP程序員們在實際編寫中使用PHP parent來指向父類指針,并調(diào)用父類的構(gòu)造函數(shù),對父類進行初始化。下面由學(xué)習(xí)啦小編整理了幾種php 調(diào)用父類方法,希望對大家有所幫助。

  php 調(diào)用父類方法(一)

  class impro_mysqli extends mysqli{

  /*顯示上一個插入記錄的ID*/

  我們就不能使用!

  代碼:

  function id(){

  return this->insert_id();

  }

  因為這樣程序會判斷在 impro_mysqli 中有個insert_id();的方法,然而實際上,并沒有!

  而使用

  代碼:

  function id(){

  return mysqli_insert_id();

  }

  雖然正確,但是失去了使用繼承的意義,那我們該怎么做呢 ?

  很簡單,我們只要使用 parent::(parent+2個英文字符的冒號) 字符就好了

  所以想要調(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; //報錯,為什么不可以

  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; //序號

  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é)生年齡長大$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>長江商學(xué)院EMBA班學(xué)生信息</b><br />

  29 ";

  30

  31 echo"學(xué)號:$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)建一個EMBA方向類

  39 class college_student extends EMBA_student{

  40 var $department; //定義一個新的屬性所在系

  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) //定義一個新的方法,更換所在系

  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 //實例化一個對象

  59 $s=new college_student;

  60 $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商業(yè)營銷");

  61 $s->set_data($arr);

  62 $s->get_data();

  63

  64

  65

  66 ?>

374307