Blogger Information
Blog 31
fans 0
comment 0
visits 30171
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP类的继承与抽象类以及接口的基本语法
emy
Original
829 people have browsed it

在PHP中,类的继承,也叫类的扩展。

一、类继承的三大功能: 继承,重写,扩展

<?php
    //1-类继承
    class emy
    {
        public $grade = '一年级';
        protected $zone = '广东';
        private $age = '19岁';
        public function write()
        {
            // 1.创建类实例
            $emy = new Emy;
            //2.访问类中的属性
            return "就读: {$emy-> grade}";
        }
    }
    class Son extends Emy
    {
        //继承
        //父类的公共和受保护成员会自动成为子类的成员
        //使用extends相当于复制了父类中的公共和受保护的属性和方法
        public $grade = '一年级';
        protected $zone = '广东';
        public function write()
        {
            // 1.创建类实例
            $emy = new Emy;
            //2.访问类中的属性
            return "就读: {$nicola->name}";
        }
    }

    //2-重写
    // 重写与父类重名的属性
    protected $zone = '河南';
    // 方法重写,实际上就是实现方法级的多态
    public function write()
    {
        // 1.创建类实例
        $emy = new Emy;
        // 在子类中可以引用父类的成员
        //2.访问类中的属性
        return "Emy就读: {$emy->zone},来自于:{$emy->zone}";
    }

    //3-扩展
    // 在父类基础上添加新的功能
        protected $study  = 'PHP/JAVA';
        public function write2()
        {
            return "学习语言: {$this->study}";
        }

二、抽象类的作用与实现

<?php 
//抽象类的作用: 部分分离了声明与实现, 声明在抽象类中完成, 实现在工作类中完成. 
// 抽象类,方法不能被实例化
// 部分分离了设计(抽象类)与实现(工作类)
// 抽象类也可以被继承,也可以用在继承上下文环境中
// 抽象类允许有抽象成员,但不是强制的(例如保护当前这个类,不希望客户端直接实例化使用)
abstract class User
{
    public static $zone = '广东';
    public static $grade  = 一年级;
    abstract public static function user();
}
class Emy extends User
{
    protected static $study = 'php';
    public static function user()
    {
        return self::$zone . '的emy是' . self::$grade . ',学习语言是' . self::$study;
    }
}
echo Emy::user();

// 客户端
// 抽象类不能被实例化
new User;
$emy = new Emy();
echo $emy->user();

三、实例演示接口的基本语法

基本语法:接口完全分离了声明与实现;接口使用关键字: interface;接口中定义的成员必须是public;接口允许多继承, 从而间接实现PHP的多继承。

// 接口使用场景1: 单接口
interface iEmy  
{
    // 接口常量
    const CITY  = 'foshan';

    // 接口方法
    public static function write();

    // 构造方法(略)
}

// 工作类实现接口
class User implements iEmy 
{
    protected static $zone = 'shunde';
    // 接口中的抽象方法,必须在工作类实现
    public static function write()
    {
        return self::$zone . ' 是属于:  ' . iEmy::CITY;
    }
}

// 客户端
// 接口常量的访问与类常量一样
// echo iEmy::CITY;
echo User::write();

四、学习了PHP中类继承的三大功能: 继承, 重写, 扩展;对接口和抽象类的作用与实现,有一个基本的认识。且学且难(:

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
Author's latest blog post