首页 > 代码库 > php中静态属性静态方法的用法
php中静态属性静态方法的用法
static关键字用来修饰属性、方法,称这些属性、方法为静态属性、静态方法。static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用。static关键字可以用来修饰变量、方法。不需要经过实例化,就可以直接访问类中static的属性和static的方法。static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法。因为静态属性和方法被创建时,可能还没有任何这个类的实例可以被调用。static的属性,在内存中只有一份,使用self:: 关键字访问当前类的静态成员或方法。<?php//非静态方法调用静态属性class General_Call_Static_Property{ private static $count=0; public function __construct(){ self::$count=self::$count+1; //非静态方法不需要实例化就可以使用静态属性,在类还没有创建时就可以直接使用。使用方式是self::静态属性名 } public function print_content(){ return self::$count; } public function __destruct() { self::$count=self::$count - 1; } }$obj1=new General_Call_Static_Property();$obj2=new General_Call_Static_Property();$obj3=new General_Call_Static_Property();echo $obj1->print_content().‘<br />‘;//3echo $obj2->print_content().‘<br />‘;//3unset($obj2);echo $obj3->print_content().‘<br />‘;//2//非静态方法调用静态方法class General_Call_Static_Method{ public static function compare($num1,$num2){ return $num1>$num2?$num1:$num2; } public function result($num1,$num2,$num3){ $first=self::compare($num1,$num2);//非静态方法不需要实例化就可以使用静态属性,使用方式是self::静态方法名 $second=self::compare($num2,$num3); $max=self::compare($firsrt,$second); return $max; }}$show=new General_Call_Static_Method();$a=33;$b=16;$c=70;echo ‘显示$a,$b,$c的最大值:‘.$show->result($a,$b,$c).‘<br />‘;//70//直接调用静态属性class Call_Property{ public static $p=3.14;}$r=5;echo ‘半径为r的圆面积:‘.Call_Property::$p *$r *$r.‘<br />‘; //78.5 静态属性不需要实例化就可以直接使用,在类还没有创建时就可以直接使用。使用方式是类名::静态属性名//直接调用静态方法class Call_Method{ public static function Max($num1,$num2){ return $num1>$num2?$num1:$num2; }}echo ‘比较两个数的最大值:‘.Call_Method::Max(49,23).‘<br />‘;//49 静态方法不需要所在类被实例化就可以直接使用。使用方式是类名::静态方法名$a=6;$b=14;echo ‘比较$a和$b大小:‘.Call_Method::Max($a,$b).‘<br />‘;//14//静态方法调用静态方法class Call_Static_Method{ private static $property=10; public static function count(){ echo self::$property=self::$property+1; //静态方法调用静态变量使用方式是self::静态变量名 } public static function result(){ return self::count(); //静态方法调用静态方法使用方式是self::静态方法名 }}Call_Static_Method::result();//11?>
php中静态属性静态方法的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。