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,"rn";
}
}
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,"tist",$this->gender,",and ist",$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 ?>