zoukankan      html  css  js  c++  java
  • 面向对象(静态,抽象,接口)--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 应用程序编译接口)里的网络服务接口

  • 相关阅读:
    c语言练习17——输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
    c语言练习16——输入两个正整数m和n,求其最大公约数和最小公倍数
    c语言练习15——条件运算符的嵌套
    c语言练习14——将一个正整数分解质因数
    CentOS下Cassandra集群搭建
    一台linux服务器挂载另外一台linux服务器文件系统
    zabbix分布式监控多网段的部署与实现
    CentOS安装MySQL详解
    vcenter 7.0 安装 vRealize Operations Manager
    Zabbix分布式部署详细
  • 原文地址:https://www.cnblogs.com/chenguanai/p/6737642.html
Copyright © 2011-2022 走看看