• 面向对象(静态,抽象,接口)--2017-04-20


    1、静态:

    静态成员:属于类

    普通成员:属于对象

    关键字:static

    class FenBi

    {

          

           public $length=10;          //  普通成员

           public static $color="red";    //  静态成员

        public static function test()    //  静态成员方法

           {

                  echo"静态成员方法".self::$color;   

                  echo"静态成员方法".FenBi::$color;               

                  echo $this->length;     //出错;静态成员方法不能调用普通成员变量

                  }

            public function ceshi()        //  普通成员方法

           {

                  echo self::$color;      // $f->ceshi();普通成员方法可以调用静态成员变量

                  }    

           }

           $f= new FenBi();

           $f->length;         //普通成员的调用方法

           FenBi::$color;      //静态成员的调用方法用双冒号调;不用造对象,可以直接调用

           FenBi::test();           

    2、抽象

           抽象类:比原来的类更加抽象,不能实例化,可以被继承;主要作为父类使用

     关键字:abstract

    注意:

    (1)抽象方法里面不能包含函数体,其具体功能在子类里面通过重写实现

      方法:子类要么做成抽象类;要么实现父类的抽象方法

    (2)包含抽象方法的类一定是抽象类

           abstract class Dw

           {

                  public $name;

                  abstract function test();  //抽象方法不能有函数体,所以去掉大括弧  

                                                     }

           class Dog extends Dw

           {

                  public function test()

                  {

                         echo "adad";

                         }

                  }

           $d=new Dw();//会报错   不能实现实例化

           $dd=new Dog();

           var_dump($dd);

           作用: 用于限制或规范下面人员的行为

    3、接口

    极度抽象的类      

    接口里面不能写成员变量;

    接口里面所有的成员方法全部为抽象的

    interface IUSB                 //类名定义方法:以大写i开头

    {

           public function read();

           public function write();   //默认抽象类;不用写

          

           }

    class ShuBiao implements IUSB

    {

           public function read()

           {

                  echo "哈哈";

                  }

           public function write()

           {

                  echo "嘿嘿";

                  }

          

           }

           $s=new ShuBiao();

           $s->read();

           $s->write();

     提到接口,一般会有两种情况:

    1、面向对象里       

    2、API(Application Programming Interface 应用程序编译接口)里的网络服务接口

  • 相关阅读:
    机器学习log
    shiro教程
    开源litemall学习
    开源mall学习
    elasticsearch 踩坑
    C#工具代码
    Java开发环境搭建——Tomcat配置
    Resource leak: 'context' is never closed
    JavaScript备忘录
    Java开发环境搭建——IntelliJ Idea开发环境
  • 原文地址:https://www.cnblogs.com/chenguanai/p/6737642.html
Copyright © 2020-2023  润新知