抽象类: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);
}
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>';