zoukankan      html  css  js  c++  java
  • 类特性:多态

    <?php
    class Ren
    {
    public $name;
    public $age;
    private $sex;
    function run()
    {
    echo "run";
    }

    }

    class china extends Ren
    {
    function run()
    {
    echo "跑";
    }

    function say()
    {
    echo "第一";
    }
    /*function say(string $a)
    {
    echo $a."第二";
    }
    function say(int $a)
    {
    echo $a."第二2";
    }
    function say($a,$b)
    {
    echo $a.$b."第三";
    }*/
    function __tostring() //可以输出类的一些描
    {
    return "输出,一个say方法";
    }
    function __clone() //克隆之后自动执行
    {
    $this->name = "李四"; //$this 指克隆之后的复本(克隆出来的新对象)
    }

    }


    //多态
    //定义:当父类引用,指向子类实例的时候,由于子类对父类进行了重写,导致我们使用该引用去调用相应的方法时表现出得不同
    //条件:
    //1.必须有继承
    //2.父类的引用必须指向子类的实例
    //3.子类必须有对父类的方法重写

    /*$r=new ren;//父类引用
    $r1 = new china;//子类引用
    echo $r->run();
    echo "<br />";
    echo $r1->run();*/

    //函数重载(php中没有重载)
    //条件
    //1.函数名必须相同
    //2.参数个数不同,或者,参数个数相同,类型不同
    //php是弱类型语言,所以没有重载
    //php有可变参数的函数

    /*$r=new china;
    $r->say();*/

    //__tostring()
    /*$r = new china;
    echo $r;*/

    //对象的克隆
    $r = new china;
    $r->age=17;
    $r1 = clone $r; //克隆对象
    echo $r1->age;
    //对克隆之后的对象做一些改变:__clone()
    echo $r1->name;

    ?>

  • 相关阅读:
    Chromium之文件类型
    To Chromium之浏览器外框UI(2)
    union的代码有点难理解额
    Graphic的一些基本概念
    windbg*****************************TBD
    x86/x64的stack*****************************TBD
    关于tp框架终于有点点头目了、、、、
    学习使用thinkphp框架制作cms
    我只是一名小小的员工
    每天读5分钟,受益匪浅、
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5446313.html
Copyright © 2011-2022 走看看