• 继承


    一、

    简单理解:

    某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息。(extends)

    Class jizuidongwu{
    public $prop1 = "有脊椎";
    function show1(){
    echo "<br />特征:" . $this->prop1;
    }

    }
    Class human extends jizuidongwu{
    public $prop2 = "两脚走路";
    function show2(){
    echo "<br />特征:" . $this->prop1;
    echo "<br />特征:" . $this->prop2;
    }
    }
    $person1 = new human();
    $person1->show2();

    二、基本概念

    继承:一个类从另一个已有的类获得其特性,称为继承。

    派生:从一个已有的类产生一个新的类,称为派生。

    继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情。

    父类/子类:已有类为父类,新建类为子类。父类也叫“基类”,子类也叫“派生类”

    单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承。

    扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了

    三、访问(权限)修饰符

    在类中的成员,通常都可以在前面加上以下3个修饰符:

    public:公共的,共有的,公开的

    protected:受保护的

    private:私有的,

    范围

    本类内

    继承关系类内

    类外

    public

    可以

    可以

    可以

    protected

    可以

    可以

    不可以

    private

    可以

    不可以

    不可以

    parent代表父类

    对比:self代表“本类”(自己当前类)

    parent通常用于在子类中调用父类的成员的时候使用,多数通常就是使用父类的“静态类”成员。

    ——因为parent代表的类,而非对象。

  • 相关阅读:
    Thinkphp无法加载验证码 undefined function Thinkimagettftext() 解决方案 mac系统
    fragment使用不当 导致java.lang.IllegalStateException
    怎样从GitHub项目中,下载单个文件夹或文件
    Android 5.0 app样式
    OpenCV fitline直线拟合函数学习
    Linux文件系统
    Ubuntu 12.04 笔记本触摸板失灵解决方法
    利用微软测试工具PICT生成测试用例
    Myeclipse 使用JUnit 进行单元测试
    Myeclipse 2014 安装checkstyle、PMD和Metrics
  • 原文地址:https://www.cnblogs.com/loveMis/p/8509972.html
Copyright © 2020-2023  润新知