• PHP 继承多态知识点



    //1.封装
    //目的:为了使类更加安全
    //做法:
    //1.将成员变量变为私有的
    //2.在类里面做一个方法来间接的访问成员变量
    //3.在该方法里面加控制

    //2.继承
    //1.父类
    //2.子类
    //子类可以继承父类的一切
    //重写:override
    //特点:单继承,一个子类只能有一个父类,一个父类可以派生多个子类


    /*class Ren
    {
    public $name;

    function Say()
    {
    echo $this->name."正在讲话";
    }
    }

    class China extends Ren
    {
    //子类对父类的方法进行重写
    function Say()
    {
    parent::Say();
    echo "你好";
    }

    function Run()
    {
    echo $this->name."正在跑步";
    }
    }

    class America extends Ren
    {
    //子类对父类的方法进行重写
    function Say()
    {
    echo "hello";
    }
    }*/

    /*$c = new China();
    $c->Say();
    $a = new America();
    $a->Say();
    var_dump($c);
    */

    //overload 重载
    //可以使类里面的某个方法产生多种效果,根据传入的参数不同,可以执行不同的逻辑
    //也是多态的一种,编译多态
    /* class Test
    {
    public string show()
    {
    return "0参";
    }
    public string show(string s)
    {
    return "1参";
    }
    public string show(string s,string a)
    {
    return "2参";
    }
    }

    Test t = new Test();

    t.show("a","b");
    */

    //3.多态
    //当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同,称为多态
    //运行多态

    //条件
    //1.要有继承
    //2.父类引用指向子类实例
    //3.要有重写
    //4.调重写的方法

    //父类
    /* class Ren
    {
    public virtual string Say()
    {
    return "说话";
    }
    }

    //子类
    class China : Ren
    {
    public override string Say()
    {
    return "你好";
    }
    }
    //子类
    class America : Ren
    {
    public override string Say()
    {
    return "hello";
    }
    }

    //父类引用r指向子类实例
    Ren r = new America();
    MessageBox.Show(r.Say());

    r = new China();
    MessageBox.Show(r.Say());


    //子类的对象可以代替父类的对象
    America a = new America();
    MessageBox.Show(Eat(a));
    //怪兽吃人,需要一个人的参数
    public string Eat(Ren r)
    {
    return "这个人味道不错!";
    }
    */


    ?>

  • 相关阅读:
    ZOJ 1002 Fire Net (火力网)
    UVa OJ 117 The Postal Worker Rings Once (让邮差只走一圈)
    UVa OJ 118 Mutant Flatworld Explorers (变体扁平世界探索器)
    UVa OJ 103 Stacking Boxes (嵌套盒子)
    UVa OJ 110 MetaLoopless Sorts (无循环元排序)
    第一次遇到使用NSNull的场景
    NSURL使用浅析
    从CNTV下载《小小智慧树》
    NSDictionary and NSMutableDictionary
    Category in static library
  • 原文地址:https://www.cnblogs.com/sujianhao/p/6186819.html
Copyright © 2020-2023  润新知