博客列表 >PHP接口与抽象类练习 - 第九期线上班 20191130

PHP接口与抽象类练习 - 第九期线上班 20191130

MArtian
MArtian原创
2019年12月01日 21:32:35805浏览

抽象类练习

abstract class a{
    protected $name;
    protected $age;
    abstract protected function getInfo();
    abstract protected function setInfo($name,$age);}class b extends a{
    public function getInfo()
    {
       return $this->name.$this->age;
    }

    public function setInfo ($name,$age){
        $this->name=$name;
        $this->age=$age;
    }}$b = new b;$b->setInfo('杨过',18);echo $b->getInfo();

接口练习

interface iVehicle{
    public function setFuel($fuel);
    public function setLevel($level);}class Car implements iVehicle{
    public $fuel;
    public $level;
    public function setFuel($fuel)
    {
        return $this->fuel=$fuel;
    }
    public function setLevel($level)
    {
        return $this->level=$level;
    }
    public function getCarInfo(){
        return '燃油类型:'.$this->fuel.' 汽车级别:'.$this->level;
    }}$car =new Car;$car->setFuel('#98');$car->setLevel('A1');echo $car ->getCarInfo();

抽象类总结

  1. 1. 抽象类都不能被实例化,必须通过子类继承的方式来访问,并且子类必须实现抽象类的所有abstract方法,类中只要有一个抽象方法,该类就应该被声明为抽象类,实现抽象类的子类可见方法性不能低于抽象类原方法的定义

    抽象方法是public, 子类方法只能是public 抽象方法是protected, 子类方法只能是protected/public

  2. 2. 一个抽象类必须被扩展为一个特定的类,我们才能创建类实例,使用类中功能

  3. 3. 在实际开发过程中, 通常并不会直接使用一个父类/超类,而是在父类中定义一些方法声明

  4. 4. 并且确信这个方法肯定是会被子类重写的, 父类中没必要实现,只要给一个方法编写规范即可

  5. 5. 这个规范包括方法的名称, 参数列表等,具体实现就完全交给子类去完成了

  6. 6. 相当于公司的部门主管, 接受到老板的任务, 只把属于自己的部分做了, 其它部分, 设置一个标准交给下属去完成

接口总结

  1. 1. 接口是指定某个类必须实现的方法,但不需要定义方法的具体实现过程

  2. 2. 接口中仅允许出现: 方法与类常量

  3. 3. 接口的方法可见性必须是: public

  4. 4. 接口的方法体必须是空的

  5. 5. implements类实现接口的关键字

  6. 6. 如果仅是部分实现接口中的方法, 请用一个抽象类来实现它


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议