- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 第五课 我国的根本政治制度课件-高考政治一轮复习统编版必修三政治与法治.pptx VIP
- 实验三家兔呼吸运动的调节.pptx VIP
- SCADA软件:Siemens SIMATIC WinCC二次开发_(1).SiemensSIMATICWinCC二次开发概述.docx VIP
- 物业管理业主沟通改善措施.docx VIP
- 2023天津港(集团)有限公司校园招聘试题及答案解析.docx VIP
- 京东供应链分析精选.ppt VIP
- 用于接触件插入和保持测试的设备和方法.pdf VIP
- T∕GAAI 005-2024 智慧渔场数字孪生技术体系.pdf VIP
- 新员工入职4学时安全教育培训课件(五).pdf
- 教育社会学 全套课件(共十四章).pptx VIP
文档评论(0)