学习啦 > 知识大全 > 方法百科 > 产品使用方法 > php调用父类方法

php调用父类方法

时间: 陈哲凡673 分享

php调用父类方法

  PHP程序员们在实际编写中使用PHP parent来指向父类指针,并调用父类的构造函数,对父类进行初始化。下面由学习啦小编整理了几种php 调用父类方法,希望对大家有所帮助。

  php 调用父类方法(一)

  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个英文字符的冒号) 字符就好了

  所以想要调用父类的函数,就可以写成

  代码:

  function id(){

  return parent::insert_id();

  }

  php 调用父类方法(二)

  <?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(); //调用父类构造方法

  echo '这里是子类',PHP_EOL;

  }

  public function say(){

  parent::say(); //调用父类方法

  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; //调用自身构造方法

  echo '(*^_^*)';

  }

  }

  $poor=new family();

  $poor->name='李';

  $poor->gender='女';

  $poor->age=25;

  $poor->say();

  $poor->cry();

  php 调用父类方法(三)

  1 <?php

  2 class EMBA_student // 声明EMBA学生类

  3 {

  4 //用var来定义类的属性

  5 var $no; //序号

  6 var $name; // 姓名

  7 var $gender; //性别

  8 var $age; //年龄

  9

  10 //方法

  11 //方法1 ,设定学生的信息方法

  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, 让学生年龄长大$i岁

  20 function set_grow($i)

  21 {

  22 $this->age+=$i;

  23 }

  24 //方法3 ,输出学生信息的方法

  25 function get_data()

  26 {

  27 echo "<br />

  28 <b>长江商学院EMBA班学生信息</b><br />

  29 ";

  30

  31 echo"学号:$this->no<br />";

  32 echo"姓名:$this->name<br />";

  33 echo"性别:$this->gender<br />";

  34 echo"年龄:$this->age<br />";

  35

  36 }

  37 }

  38 // 继承EMBA学生类,来创建一个EMBA方向类

  39 class college_student extends EMBA_student{

  40 var $department; //定义一个新的属性所在系

  41 //重载父类的方法,设定学员的信息

  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; //让学员所在系变成参数系

  50 }

  51 //输出学生的信息

  52 function get_data(){

  53 parent::get_data();

  54 echo"学习方向:$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"=>"商业营销");

  61 $s->set_data($arr);

  62 $s->get_data();

  63

  64

  65

  66 ?>

374307