zoukankan      html  css  js  c++  java
  • PHP三大特性-继承

    继承

    概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到)
    在定义子类的时候需要加一个关键字:extends
    特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类
    如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
    子类对父类方法的重写:在子类中写一个同样的方法
    final:用来修饰类,代表该类是一个最终类,该类无法被继承

    定义一个父类:

    class Info
    {
      const p = 3.1425926; //将某些类里面常用到的东西定义为常量,方便使用

      public static $class; //static关键字定义静态的
      public $code;
      protected $name;
      private $sex;

      static function Test() //静态方法
        {
          echo self::$class; //调用自身类里面的静态成员
          echo "静态方法!";
        }

      function __construct($s)
        {
          $this->sex = $s;
        }

      function Say()
        {
          echo self::$class; //普通方法里面可以调用静态成员
          echo "hello";
        }

      function GetSex()
        {
          return $this->sex;
        }
      function SetSex($s)
        {
          $this->sex = $s;
        }

      function __set($n,$v)
        {
          $this->$n = $v;
        }

      function __get($n)
        {
          return $this->$n;
        }
    }

    //对象实例化
    $r = new Info("女");
    $r->code = "join";
    $r->sex;


    Info::$class = "0305";
    $r->Say();

    Info::$class = "0305"; //访问静态成员
    Info::Test();

    定义子类:extends

    class Test extends Info
    {
      public $birthday;

      function Run()
      {
        echo "run";
      }

      function Say()
      {
        parent::Say(); //调用父类的Say()方法
        echo "Test Say";
      }

    }

    $t = new Test("女");
    $t->code = "p001";
    //echo $t->sex;
    $t->Say();
    //$t->Run();*


    静态成员
    类里面的普通成员是属于对象的,不是属于类的(调用的时候是用对象调用)
    什么叫做静态的:类静态成员是属于类的,不是属于每个对象的
    定义静态成员用static关键字修饰
    静态方法里面无法调用普通成员
    静态方法可以调用静态成员,使用self关键字来调用
    self代表该类,$this代表该对象

  • 相关阅读:
    有关 JavaScript 的 10 件让人费解的事情
    Apache ab介绍1
    Oracle Raw,number,varchar2... 转换
    Flex开发者需要知道的10件事
    linux命令之nice
    JavaIO复习和目录文件的复制
    使用php获取网页内容
    linux 安装sysstat使用iostat、mpstat、sar、sa
    SQL Injection 实战某基金
    ubuntu root锁屏工具
  • 原文地址:https://www.cnblogs.com/dianfu123/p/5493863.html
Copyright © 2011-2022 走看看