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;

    ?>

  • 相关阅读:
    设计模式-外观模式
    多线程面试笔试题-1
    final 关键字
    java 继承 初始化顺序
    java内部类
    Python-面向对象-静态方法
    接口自动化测试框架搭建
    使用yaml设计测试用例进行单接口测试
    数据驱动测试--对excel文件的操作
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5446313.html
Copyright © 2011-2022 走看看