zoukankan      html  css  js  c++  java
  • 面对对象的三大特性的继承和多态

    //2.继承
    //1.特点:单继承,一个子类只能有一个父类;一个父类可以有多个子类
    //1,父类
    //2.子类
    //子类可以继承父类的一切
    //重写:oerride
    // 重载:overload 多态

    /*class ren
    {
         public $name;
          function say()
    {
       echo $tjis->name."正在说话";
        }    
        }
    
    
    /*1.class china
       {
           pulic $name;
           function say
           {
               
               }
           
           }*/
           /*class china extends ren//2.给父类做扩展:
           {
               //子类对父类的方法进行重写 定义相同的名进行更改
               function say()
               {
                   parent::say();//把父类的内容调过来显示
                   echo "你好";
                   }
               function run()
               {               
                   echo $this->name."正在跑步";
                   }
               }*/
    
    /*class America extends ren//3.
    {
        function say()
        {
            echo "hello";
            }
        
        }*/
    
    
    /*class china  extends ren//继承人类中的一切
    {
        }
    $c= new china;
    $c->say();
    $c=new America;
    $c->say();
    var_dump($c);*/




    //overload  重载

    //可以使类里面的某个方法产生多种效果,根据传入参数的不同可以执行不同的逻辑
    //echo rand()随机数
    //echo date()显示时间
    //overload 重载 是多态的一种表现形式,叫编译多态

    //3.多态
    //概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同,成为多态;
    //运行多态
    //条件
    //1.要有继承
    //2.父类引用指向子类实例  
    $r= new ren();
    //3.要有重写
    //4.调重写的方法

    用.net语言做

    //父类
     

    /*  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 "这个人味道不错!";
            }
  • 相关阅读:
    数据库异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
    Windows:任务调度器
    Package设计2:增量更新
    SSIS 数据流优化
    Data Profiling Task
    SSIS 表达式、操作符和函数
    SSIS 数据流的错误输出
    SSIS 控制流和数据流
    SET QUOTED_IDENTIFIER选项对索引的影响
    Security2:角色和权限
  • 原文地址:https://www.cnblogs.com/gdbaby/p/6164579.html
Copyright © 2011-2022 走看看