Blogger Information
Blog 24
fans 0
comment 0
visits 18766
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类的继承、抽象类、接口
昔年
Original
703 people have browsed it
  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

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


Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:概念是理解的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments