浅析php静态方法与非静态方法的用法区别.docVIP

浅析php静态方法与非静态方法的用法区别.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析php静态方法与非静态方法的用法区别.doc

浅析php静态方法与非静态方法的用法 区别 在php编程中,static关键字声明一个属性或方法是 和类相关的,而不是和类的某个特定的实例相关,因此, 这类属性或方法也称为“类属性”或“类方法” 如果访问控制权限允许,可不必创建该类对象而直接 使用类名加两个冒号“::”调用。 static关键字可以用来修饰变量、方法。 不经过实例化,就可以直接访问类中static的属性和 static的方法。 static的属性和方法,只能访问s tatic的属性和方 法,不能类访问非静态的属性和方法。因为静态属性和方 法被创建时,可能还没有任何这个类的实例可以被调用。 stat ic的属性,在内存中只有一份,为所有的实例共 用。 使用self::关键字访问当前类的静态成员。 一个类的所有实例,共用类中的静态属性。 即在内存中即使有多个实例,静态的属性也只有一份。 例子,设置了一个计数器$cou nt属性,设置priv ate 和static修饰。 这样,外界并不能直接访问Scount属性。而程序运行 的结果也看到多个实例在使用同一个静态的Scount属性。 It; ?phpn bsp; classus ernbsp; {nbs p; nbspjpr ivatestatic $count=0;//记录所有用户的登 录情况.nbsp; nbs p;publicfun ction_cons truet () {nbs p; nbsp; se If: : $count=self: : $coun t+1; nbsp; nb sp; }nbsp; nbspjpublic functionget count () {nbs p; nbsp;re turnself: :$count ;nbsp; nbsp;}nbsp; nbspjpubl icfunction_destruct(){nbsp; nbs p; self: : $co unt=self: : $count-l;nbs p; nbsp;}nbs p; }nbsp; $userl=newus er () : nbsp: $user2=new user () ;nbsp ; $user3=n ewuser () ;nb sp; echo〃n owherehave^ ?$userl~gt; getcount(). 〃 〃 1 user ;nbsp ; echoIt;br/gt;nbs p; unset($us er3) ;nbsp; echo〃nowhe rehave〃?$us erl~gt;getc ount()?〃use r〃;nbsp; ?gt ; 二,静态属性直接调用 静态属性不需要实例化就可以直接使用,在类还没有 创建时就可以直接使用。 使用方式: 类名::静态属性名 It; ?p hpnbsp; clas smathnbsp; {nbsp; nbsp ;publicstat ic$pi=3? 14;nbsp; }nbsp; //求一个半径3的园的面积。nbsp; $r=3;nbsp; ec ho半径是$r 的面积是 It ;br/gt;,z ;nbsp; ech omath::$pi*$r*$r;nbsp; echo〃lt;b r/gt; It ;br/gt ;〃;nbsp; //这里我觉得3.14不够精确,我把它设置的更精确。 nbsp; math: :$pi二3. 141592653 589793;nbsp ; echo半径是$r 的面积是 lt;br /gt ;/z;nbsp; ?gt; 类没有创建,静态属性就可以直接使用。那静态属性 在什么时候在内存中被创建? 在php中没有看到相关的资料。 引用java中的概念,来解释应该也具有通用性。静态 属性和方法,在类被调用时创建。 三,静态方法 静态方法不需要所在类被实例化就可以直接使用。 使用的方式是类名::静态方法名 继续写这个math 继续写这个math类, 用来进行数学计算。 设计一个方法用来算出其中的最大值。既然是数学运 算,也没有必要去实例化这个类,如果这个方法可以拿过 来就用就方便多了。 这只是为了演示stati c方法而设计的这个类。在php 提供了 max ()函数比较数值。 It;?phpnbsp; cl assmathnbsp ; {nbsp; nb sp;publicst aticfunctio nmax($numl, $num2){nbsp ; nbsp;return$numlgt;$num2?$nunil :$num2;nbsp ; nbsp;}nbsp : nbsp; }nbsp ; $a=99;nbsp ; $b=88;nbsp ; echo显示$a和$b中的最大值是〃;nbsp; ech o〃lt;br

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档