博客列表 >类的继承、抽象类、接口

类的继承、抽象类、接口

昔年
昔年原创
2020年04月29日 15:50:18702浏览
  1. 类的继承

            子类自动继承父类的公开属性以及受保护的属性

                子类还可以对父类的方法进行重写

            子类扩展父类

<?php
class Person 
{
    protected $height = '163cm';
    protected $weight = '55kg';

    public function run(){
        return '一小时能跑10km';
    }

}

Class Peter extends Person
{
    protected $height = '168cm';
    protected $name = 'peter';
    public function run(){
        return $this->name.'的身高:'.$this->height. ',体重:'.$this->weight. Parent::run();
    }

    public function eat(){
        return $this->name . '喜欢吃鱼';
    }
}

$peter = new Peter();
echo $peter->run(),'<br>';
echo $peter->eat(),'<br>';

demo1.png

2.抽象类

部分分离了" 设计(抽象类中完成)与实现(工作类中完成)" 

<?php
abstract class Goods
{   
    protected $name;
    public function setName($name){
        $this->name = $name;
    }

    abstract public function getName();
}

class Books extends Goods
{
    public function getName(){
        return $this->name;
    }
}

$book = new Books();
$book->setName('php从入门到精通');
echo $book->getName();

demo2.png

3.接口

完成分离了"设计与实现"

<?php
interface Goods
{
    function add();
    function update();
}

class GoodsA implements Goods
{
    public function add(){
        echo '实现添加方法<br>';
    }
    public function update()
    {
        echo '实现更新方法<br>';
    }
}

$goodsA = new GoodsA();
$goodsA->add();
$goodsA->update();

demo3.png

总结:类的继承可以让我们快速获得父类的属性;抽象类中一般有抽象的方法,继承抽象类的时候要先实现抽象方法,接口是一种完全封装的,分离了设计与实现,接口中只有抽象方法。


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