• php静态和抽象


    静态

    1.在定义类时,类中声明的成员变量和成员方法,属于对象的。

    2.当用关键字static修饰类或类中的变量和方法时,该成员变量和成员方法就属于类的。

    3.静态成员可以不通过构造对象就直接调用。

    4.静态方法不能直接调用普通成员

    5.普通成员可以调用静态

    下面用一个例子来解释一下

        class FenBi
          {
            public $length=10; //粉笔长度
            public static $color="红"; //粉笔颜色

            public static function test()
                  {
                    echo "静态成员方法".self::$color;    //静态成员的调用办法
                  }
            public function ceshi()
            {
              echo self::$color;
              }
            }

    $f = new FenBi();
    $f->length; //普通成员调用方式
    $f->ceshi();
    FenBi::$color = "蓝色"; //静态成员的调用方式
    FenBi::test();*/静态方法的调用方式

    抽象
    关键字:abstract
    抽象类由于过于抽象了,所以不能被实例化,做为父类存在,可以被继承
    抽象方法里面不能包含函数体,其具体功能在子类里面通过重写实现,如果子类不想实现,那么子类也必须是抽象的。
    包含抽象方法的类一定是抽象类

      abstract class DongWu
        {
          public $name;
          abstract public function test(); //定义了一个抽象方法,但是这个方法不能有函数体

          }
        class Dog extends DongWu       //定义一个子类,继承了父类
            {
            public function test()    //重写了父类抽象方法,有函数体
                      {
                        echo "重写了";
                      }
            }
          $d = new Dog();
          var_dump($d);

    接口(interface)

    1.接口 就是极度抽象的类
    2.接口里面没有成员变量
    3.接口里面的所有成员函数全部为抽象的

    4.接口的名字以I开头

    5.一般未特意明确是面向对象里的接口,理解为API (application programing interface)不通过读源码而实现功能接口

      
          interface IUSB
                {            
                  public function read(); //读的方法
                  public function write(); //写的方法
                  }

           class ShuBiao implements IUSB    //继承接口的关键字
                  {
                    public function read()    //子类重写实现接口的方法
                              {
                                echo "鼠标插入了";
                               }
                    public function write()
                              {
                                echo "往鼠标写内容";
                              }
                    }

            $s = new ShuBiao();
            $s->read();

  • 相关阅读:
    RSA 与 DSA
    atlassian
    Cygwin
    windows下编写的Shell脚本在Linux下运行错误的解决方法
    NSKeyValueObserving(KVO)
    UIBezierPath 的使用介绍
    Objective
    Objective-C 内存管理原则
    Mac OSX 快捷键&命令行总览
    浅析Objective-C字面量
  • 原文地址:https://www.cnblogs.com/du892294464/p/6740835.html
Copyright © 2020-2023  润新知