• PHP之static


     1 静态成员
     2     class Stduent{
     3         private static $a;
     4     }
     5 
     6     Student::$a;  //需要加 $ ...对静态只有 获取或赋值
     7     :: 静态访问符  范围解析符
     8 
     9     在类内部 用 Studen::$a; self::$a; static::$a;
    10 
    11     在继承中
    12         静态成员也会被继承 重写。
    13 
    14         self 和 static 的区别。
    15         self:永远绑定代码所在的类。 当前定义类
    16         static:调用时,确定类。    当前调用类  作用:定义 属性和方法,访问属性和方法。
    17         class goods{
    18             public $title='goods';
    19             public static function getTitleSelf(){
    20                 echo self::$title;
    21             }
    22 
    23             public static function getTitleStatic(){
    24                 echo static::$title;
    25             }
    26 
    27         }
    28 
    29         class Books{
    30             public $title='books';
    31         }
    32 
    33         echo Books::getTitleSelf(); // echo goods;
    34         echo Books::getTitleStatic() // echo books;
    35 
    36         总结经常使用static 符合逻辑。
    37 
    38         echo goods::getTitleSelf();  // echo goods;
    39         echo goods::getTitleStatic(); // echo goods;
    40 
    41         总结:当类共享的数据和操作,定义为静态属性。
    42                 被类独有的数据和操作,定义为非静态属性。
    43 
    44         class Student{
    45             pirvate static $s_count; //记录学生 增加 ++
    46 
    47             public function __construct(){
    48                 echo ++static::$s_count;
    49             }
    50 
    51             //当对象被销毁时候 ,应该减去
    52             public function __destruct(){
    53                 echo --static::$s_count;
    54             }
    55 
    56             public function __clone(){  //当对象被克隆的时候
    57                 echo ++static::$s_count;
    58             }
    59         }        
    60 
    61         绑定在类上的关键字:self 当前定义类 parent 父类 static 当前调用类 
    62 
    63         语法细节:
    64             无论通过类或者对象都可以调用 静态 和 非静态。  局限于 方法。 属性不可以。
    65 
    66             规范化: 对象只调用非静态。 类只调用静态。
    67 
    68         class Demo{
    69             public function nonStaticFunc(){
    70                 echo "non static";
    71             }
    72             public static function statucFunc(){
    73                 echo "static fun";
    74             }
    75         }    
    76 
    77         $d = new Demo();
    78         $d->nonstaticFunc();  //执行输出结果
    79         $d->staticFunc();    //执行输出结果  会报告一个 语法不严谨警告。
  • 相关阅读:
    点对点模式1
    简要分析《XXX需求征集系统》采用的可用性和可修改性战术
    淘宝为例进行软件质量属性分析
    浅谈软件架构师的工作
    《软件需求十步走》阅读笔记6
    编写有效的业务用例 读书笔记03
    编写有效的业务用例 读书笔记02
    编写有效的业务用例 读书笔记01
    2017年秋季个人阅读计划
    软件需求与分析需要掌握的内容
  • 原文地址:https://www.cnblogs.com/sharecorner/p/6126570.html
Copyright © 2020-2023  润新知