zoukankan      html  css  js  c++  java
  • php基础-6

    类的继承和方法重写

    •  1 <?php
       2 
       3 class people{
       4     public function __construct($name, $age, $sex)
       5     {
       6         $this->age = $age;
       7         $this->name = $name;
       8         $this->sex = $sex;
       9     }
      10 
      11     public function getInfo(){
      12         $i = "这是一个$this->sex"."人,他的姓名人$this->name,他的年龄是$this->sex";
      13         return $i;
      14     }
      15 }
      16 
      17 class Male extends people{
      18     public function __construct($name, $age)
      19     {
      20         parent::__construct($name, $age, '男');
      21     }
      22 }
      23 
      24 $i = new Male("Bob", 18);
      25 echo $i->getInfo();

      先创建一个父类people,然后创建一个子类Male使用关键字extends来继承people类,在Male中常见舒适化方法__construct,再在该方法中对父类的进行初始化。

              将Male的初始化方法中的参数传给people中的初始化方法的,因为是男性(male),所以性别默认是男,所以Male的初始化只用有age,name这两个参数就可以了。完成父类的初始化之后,在对该子类进行实例化,实例化的对象就拥有父类和子类的所有方法了。

    • 类方法的重写
       1 <?php
       2 
       3 class people{
       4     public function __construct($name, $age, $sex)
       5     {
       6         $this->age = $age;
       7         $this->name = $name;
       8         $this->sex = $sex;
       9     }
      10 
      11     public function getInfo(){
      12         $i = "这是一个$this->sex"."人,他的姓名人$this->name,他的年龄是$this->sex";
      13         return $i;
      14     }
      15 }
      16 
      17 class Male extends people{
      18     public function __construct($name, $age)
      19     {
      20         parent::__construct($name, $age, '男');
      21     }
      22     public function getInfo(){
      23 //        parent::getInfo();
      24         $i = "这是一个$this->sex"."人";
      25         return $i;
      26     }
      27 }
      28 
      29 $i = new Male("Bob", 18);
      30 echo $i->getInfo();

      我们运行这段程序,可以看到,当父类和子类拥有相同的方法的时候,php会执行子类里面的方法。这里是我们将父类的方法重写了,如果想在子类里运行父类的方法,直接用parent::父类里面的方法。

  • 相关阅读:
    分布式
    jdk与jre的区别
    rabbitmq
    dicom错误解决
    centos6.5搭建hadoop完整教程
    spark
    Oracle索引扫描
    Oracle的rowid结构解析
    PL/SQL — 集合及常用方法
    PL/SQL — 变长数组
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/10583224.html
Copyright © 2011-2022 走看看