zoukankan      html  css  js  c++  java
  • php中static静态关键字的使用

      php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的值,常用于递归或子函数中保留之前的值,可以用来定义变量和方法,作用就不具体说了,说一下使用方式,下面简单的代码:

     1 class Human{
     2     public $name;
     3     protected $height;
     4 
     5     public static $sValue="Static Value in Human";
     6     public function eat($food){
     7         echo $this->name . "'s eating ". $food. "
    ";
     8     }
     9 }
    10 
    11 class Me extends Human
    12 {
    13     public $team="lsl";
    14     private $age="23";
    15 
    16     public static $president="zzy";
    17 
    18     public static function changePresident($newPrsdt){
    19         static::$president = $newPrsdt;
    20         echo parent::$sValue . "<br />";
    21     }
    22 
    23     //静态变量和方法操作
    24     private static $a="abc";
    25 
    26     public static function abc(){
    27         echo "<br />".self::$a;
    28         self::$a.="def";
    29     }
    30 }
    31 
    32 echo Me::$president. "
    ";
    33 Me::changePresident("web");
    34 echo Me::$president. "<br />";
    35 
    36 
    37 
    38 Me::abc();
    39 Me::abc();

    首先定义了一个人类Human,然后定义一个类Me继承了Human,则Human里面的成员都可以通过Me的对象来使用了,并且整个使用过程中成员变量的值都是有效的,根据代码可以看到:静态变量的值改变之后下次再调用就是改变之后的了,如果是普通变量则无法实现,只能是通过对象改变才有效,而通过类内部的方法是无法改变的,通过最后两行代码更容易看出,调用了2次方法abc后静态变量$a的值就发生改变了,静态变量自己想一下就可以理解了,用途也很广泛,下面总结几点静态关键字相关的规则:

    1、一般静态属性用于保存类的公有数据

    2、静态方法内部只能访问静态属性,包括本类和父类的

    3、静态成员不需要实例化对象就可以访问

    4、在本类内部访问静态属性用self或static关键字访问,后面带上的变量要包括$,比如: self::$a或者static::$a

    5、访问父类静态属性使用parent,如:parent::$name

    6、在类外部访问静态变量或者方法时使用类名直接访问,无需实例化。如:Me::$pan和Me::abc()

    具体的要点就这么多了

  • 相关阅读:
    c# 数据请求方式提供
    初来乍到,记录第一次发布博客
    JDBC连接LDAP认证Inceptor
    PHP环境搭建以及helloworld.php
    axis2 webservice在websphere上需要设置was共享库
    关于Weblogic优先加载jar包的设置
    time & datetime 模块
    常用模块
    第二模块:函数编程 第1章-练习题
    第二模块:函数编程 第1章·文件处理、函数、装饰器、迭代器、内置方法
  • 原文地址:https://www.cnblogs.com/freeweb/p/4637103.html
Copyright © 2011-2022 走看看