面向对象编程之static关键字

xiaoxiao2021-02-28  82

<?php /*1.static关键字:用来修饰属性和方法,不能修饰类;   2.使用static修饰成员属性,该属性会存在内存的初始化静态段;   3.用static的目的是:可以被所有同属于同一个类中的所有对象共用的属性和方法,不用每个对象都重新赋值,浪费内存   4.第一次用到类名时,类在加载到内存时,就会将静态成员加载到内存的初始化静态段;   5.静态的成员一定要使用类去访问;   6.self可以在自己类的方法中代表自己的类名,通过self::静态属性的形式在方法中调用静态属性;类似于$this代表本对象一样;   7.静态成员一旦被加载,只有在脚本结束时才会被释放;   8.在静态方法中是不能访问非静态属性的,因为无法识别$this,根本就没创建对象就在访问类中的方法,所以就不存在对象,$this   也就无从代表;   9.静态属性不需要使用构造方法来赋值初始化;   10.只要是能在能使用静态的环境下就尽量使用静态,因为效率高,无须创建对象就可以直接访问; */ class person{         static $name="刘仁";         static $age=23;         static $sex="男";         static $country="中国";     static function say(){         echo "我的名字是".self::$name.",我的年纪是:".self::$age.",我的性别为:".self::$sex.",我所在的国家是:".self::$country."<br>";     }     function eat(){              }     function run(){              } }         echo person::$country."<br>";     person::$country="USA";     echo person::say(); ?>
转载请注明原文地址: https://www.6miu.com/read-82392.html

最新回复(0)