zoukankan      html  css  js  c++  java
  • 继承多态

    <?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 "这个人味道不错!";
    }
    */

    ?>

  • 相关阅读:
    Java基础课程---将一个字符串反转,将字符串中指定部分进行反转,比如,"abcdefg", 反转为"abfedcg"
    在Centon64位中卸载安装时系统自带的--openjdk,并且安装自己需要的jdk
    Java基础课程---sleep()方法 和 wait()方法的异同(面试题)
    Java基础课程---权限修饰符
    Java基础课程---
    MySQL 创建库
    brew
    android webview load 本地文件需要注意的地方
    android下隐藏标题栏
    android webview无法加载网页
  • 原文地址:https://www.cnblogs.com/l123789/p/6170046.html
Copyright © 2011-2022 走看看