php 继承

来源:互联网 发布:淘宝刷qq空间访问量 编辑:程序博客网 时间:2024/06/08 14:51

      继承是PHP5面象对象程序设计的重要特性之一,它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以重新定义或加进新数据和 函数,从而建立了类的层次或等级。

     继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可 以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

   举例:

     比如你现在已经有一个“人”这个类了,这个类里面有两个成员属性“姓名和年龄”以及还有两个成员方法“说话的方法和走路的方法“, 如果现在程序需要一个学生的类, 因为学生的也是人, 所以学生也有成员属性“姓名和年龄”以及成员方法“说话的方法和走路的方法“,这个时候你就可以让学生类来继承人这个类, 继承之后,学生类就会把人类里面的所有的属性都继承过来, 就不用你再去重新声明一遍这些成员属性和方法了, 因为学生类里面还有所在学校的属性和学习的方法,所以在你做的学生类里面有继承自人类里面的属性和方法之外在加上学生特有的”所在学校属性“和”学习的方 法“, 这样一个学生类就声明完成了, 继函我们也可以叫作“扩展”, 从上面我们就可以看出,学生类对人类进行了扩展, 在人类里原有两个属性和两个方法的基础上加上一个属性和一个方法扩展出来一个新的学生类

1.父类
2.子类
子类可以继承父类的一切
特点:单继承,一个子类只能有一个父类,一个父类可以派生多个子类

实例:

  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />  <?php class Person{//protected受保护,外部不可见,只允许自己内部或子类访问protected  $name;protected  $age;protected  $salary;public function __construct($name,$age,$salary){$this->name=$name;$this->age=$age;$this->salary=$salary;}//受保护的,这样就只能被子类继承,子类继承后仍然是protected function showMess(){return '我的名字是'.$this->name.'年龄'.$this->age.'工资'.$this->salary;} }//声明一个子类,继承使用extends,php单继承语言//创建子类是为了扩展父类的功能,实现代码复用class Staff extends Person{protected $department;//部门public function __construct($name,$age,$salary,$department){parent::__construct($name,$age,$salary);/*$this->name=$name;$this->age=$age;$this->salary=$salary;*/$this->department=$department;}//在子类重写父类方法,其访问权限不能低于原来的,原来的是protected,现在应该为public function showMess(){returnparent::showMess().'部门是'.$this->department;}} $obj=new Staff('peter',32,2020,'开发部'); echo $obj->showMess();    ?>