zoukankan      html  css  js  c++  java
  • 继承和多态的知识点整理

    //继承

    //子类可以继承父类一切

    //特点:单继承(一个类只能有一个父类,但是一个父类可以有多个子类。一个类不可能同时拥有多个父类只能有一个父类。)

    A:

    class Ren

    {

      private  $name;        //如果是protect修饰符,那么这个类可以在该类和该类的子类中访问,如果是private(私有的),那么

    }            //这成员变量只能在该类中访问,但不能在该类的子类中访问。

    class  China  extends  Ren           //定义一个China类,用关键字extends后面加父类来表示继承父类。

    {

    }

    $c= new China();

    var_dump($c);

    //虽然在China类里面什么成员变量也没写,但由于这个China继承了父类Ren,那么这个China类里面也会有父类Ren里面的$name成员变量。

    B:

    class Ren

    {

      private $name;           //父类定义了一个Run()方法

      function  Run();

      {

        echo "跑步";

      }

    }

    class  China extends Ren    //子类China继承父类Ren   使用关键字  extends后面加父类

    {

      //重写   override       

      function  Run();       //在子类定义一个与父类同名的方法,这样就实现了子类对父类的方法进行重写了。

      {

        parent:: Run();        //在写子类方法的时候,依然需要实行父类方法的时候,我们就可以使用parent::这种方法来调用一下。

        echo "中国人跑步";

      }

    }

    $c  =new China();

    var_dump($c);    //子类China也拥有父类的name这个成员变量。

    $c->Run();      //调用一下Run方法。

    //parent::Run();  用关键字parent::来就可以实现从子类的Run()方法中调用了父类中同名的Run()方法,这样就包含了父类的Run()方法,同时也添加了

    子类中新的功能。

    //为什么要在面向对象中引用并且使用继承?    继承的关键字  extends 后面加要继承的父类

    //  当几个类拥有共同的特征时,我们就把这些共同特点做成一个父类就可以了,这样子类中就能规定必须拥有父类的那些共同特点。另外一点是,可以随时写一个类,扩展一些东西进来。

    //多态

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

    //多态在php中表现不出来,因为php是一种弱类型语言。

    //重写是运行多态,重载是个编译多态。

  • 相关阅读:
    自定义UILabel,使文字居左上显示
    xcode 7 运行项目报错 -fembed-bitcode is not supported on versions of iOS prior to 6.0
    git 如何删除本地未提交的文件
    coco2d-x技术
    mac 查看端口是否被使用
    ios 提交
    oc基础复习10-OC的id
    oc基础复习09-OC的self 和super(深入理解)
    oc基础复习08-OC的类方法
    oc基础复习07-OC的弱语法(转)
  • 原文地址:https://www.cnblogs.com/shandayuan/p/6834914.html
Copyright © 2011-2022 走看看