文章教程

14.2.4继承

9/17/2020 9:26:54 PM 人评论 次浏览

14.2.4 继承

对于面向对象的编程,通过继承可以增加或重写类的方法。这意味着,继承类可以指定更多的属性或方法,而且允许继承类访问基类的方法。继承体现了“is_a”的关系,即“是一个”的关系。例如,Person是一个类,Worker类继承自Person类,那么可以说,Worker类也是Person类。在PHP中,可以通过关键字extends从一个类派生出继承类。如代码14-3所示的程序中,由Person类派生出Work类。

代码14-3 PHP中的继承14-3.php


01 <?php

02 class Person

03 {

04 private$name;//私有成员变量$name

05

06 public function set_name($name)//成员函数set_name()

07 {

08 $this->name=$name;

09 }

10 public function get_name()//成员函数get_name()

11 {

12 return$this->name;

13 }

14 }

15

16 class Worker extends Person//Worker类继承自Person,使用关键字extends

17 {

18 private$salary;

19

20 public function set_salary($salary)

21 {

22 $this->salary=$salary;

23 }

24 public function get_salary()

25 {

26 return$this->salary;

27 }

28 }

29

30 $a_work=new Worker;

31 $a_work->set_name('Paul');//这里调用的set_name()继承自基类Person

32 $a_work->set_salary(3500);

33

34 $name=$a_work->get_name();

35 $salary=$a_work->get_salary();

36 echo$name."的月薪为".$salary;

37 ?>


【代码解析】这段代码首先定义了Person类,然后由该类派生出Worker类。Worker类继承了基类的成员变量$name、成员函数set_name()和get_name()。因此,由派生类Work生成的对象$a_work可以调用基类的方法set_name()为其设置名字,也可以调用基类的方法get_name()获取其名字,如代码第31行所示。

教程类别