0
点赞
收藏
分享

微信扫一扫

php抽象类篇

Python芸芸 2022-02-18 阅读 23
抽象类:1.0   抽象类不能实例化  (抽象类不用实现具体的功能)
2.0 抽象类中定义的抽象方法必须在子类中实现
<?php

// 抽象类
namespace _1009;

use _0930\Sub2;

class Person1
{
    protected $name;

    public function __construct($name = 'peter zhu')
    {
        $this->name = $name;
    }

    public function getName()
    {
        return $this->name;
    }

    public function setName($value)
    {
        $this->name = $value;
    }
}

$person = new Person1();
echo '我的姓名: ' , $person->getName(), '<br>';
$person->setName('朱老师');
echo '我的姓名: ' , $person->getName(), '<br>';

echo '<hr>';

abstract class Person2
{
    // 抽象属性
    protected $name;

    public function __construct($name = 'peter zhu')
    {
        $this->name = $name;
    }

    public function getName()
    {
        return $this->name;
    }

    // 签名, 抽象方法
    abstract public function setName($value);
}

//1. 抽象类不能实例化
//2. 抽象类中定义的抽象方法必须在子类中实现

class Stu extends Person2
{
    //构造方法不会继承
    public function __construct($name)
    {
        parent::__construct($name);
    }

    //抽象类中定义的抽象方法必须在子类中实现
    public function setName($value)
    {
        $this->name = $value;
    }
}

$stu = new Stu('猪哥');

echo 'php中文网的创始人是: ' . $stu->getName(). '<br>';

$stu->setName('朱老师');
echo 'php中文网讲师是: ' . $stu->getName(). '<br>';
举报

相关推荐

0 条评论