ivy-blogs

类的继承和方法重写

  •  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::父类里面的方法。

分类:

技术点:

相关文章:

  • 2021-06-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-12-15
猜你喜欢
  • 2021-11-28
  • 2021-12-31
  • 2022-01-03
  • 2022-01-13
  • 2021-11-26
  • 2022-01-17
  • 2021-12-10
相关资源
相似解决方案