zoukankan      html  css  js  c++  java
  • 面向对象--继承和多态

    //子类可以继承父类的一切.
    //特点:单继承
    class Ren
    {
    public $name;
    public $sex;
    public $language;
    
    function Say()
    {
    echo $this->name."正在讲话";
    
    }
    
    }
    
    //美国人的子类
    class America extends Ren//继承自Ren
    {
    public $ziben;//相对独特的东西另分父类         
    public $eyes;
    
    function Say()//重写,输出将代替父类中的Say函数
    {
    	echo "hello";
    }
    }
    
    
    //中国人的子类
    class China extends Ren
    {
    public $shehui;
    public $wumai;
    	echo"你好";
    }
    $a=new America();
    var_dump($a);
    
    
    //重写,子类对父类的方法,子类中在写一个父类中一样的方法
    
    class China extends Ren
    {
    function Say()
    {
    	parent::Say();//调用父类的Say方法,追加不是覆盖
    	echo "你好";
    }
    }
    $a=new China();
    var_dump($a);
    
    //多态
    //发生条件:1.必须要继承
    	2.子类 要对父类的方法进行重写
    	3.父类引用指向子类实例
    
    //概念:当父类的引用指向子类实例的时候,由于子类对父类方法进行了重写,父类引用在调用时表现出来的不同就是多态
    
    Ren r=new China();
    r->Say();//输出"你好"
    
    
    
    Ren r=new America();
    r->Say();//输出"hello"
    
    同一个r调用同一个Say()表现出不同的结果,
    

      

  • 相关阅读:
    RichEdit
    用 RAD Studio 柏林版创建 IoT 应用程序
    延时程序
    SQL if exists用法
    Firemonkey限制TEdit只能输入数字的完美方法
    leetcode 树
    leetcode string
    clone-graph
    surrounded-regions merge-intervals
    leetcode链表题
  • 原文地址:https://www.cnblogs.com/pangchunlei/p/5563269.html
Copyright © 2011-2022 走看看