PHP面向对象笔记——123图解静态属性与静态方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP面向对象笔记——123图解静态属性与静态方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1793字,纯文字阅读大概需要3分钟。
内容图文
![PHP面向对象笔记——123图解静态属性与静态方法](/upload/InfoBanner/zyjiaocheng/139/9eaabf22b59946e6801e15fccb929236.jpg)
本篇文章介绍的内容是PHP面向对象中的内容,123图解静态属性与静态方法,现在分享给大家,有需要的朋友可以参考一下
/*
在属性,和方法前
加static 修饰,这种称为静态属性/静态方法.
静态属性
静态属性存放在类空间中
1、类声明完毕,该属性就已存在,不需要依赖于对象而访问.
2、类在内存中只有一个,因此静态属性也只有一个.
*/
class Human { static public $head = 1; public function changeHead() { Human::$head = 9; } public function getHead() { return Human::$head; } }echo Human::$head; //1// 静态属性的访问方法echo '<br >';// 静态属性只有一个,为所有的对象的共享.$m1 = new Human();$m1->changeHead();$m2 = new Human();$m3 = new Human();echo $m2->getHead(),'<br >'; //9echo $m3->getHead(),'<br >'; //9
/*
静态方法
普通方法,存放于类内的,只有1份
静态方法,也是存放于类内的,只有1份
区别在于:
普通方法需要对象去调动,需要绑定$this
即,普通方法,必须要有对象,且用对象调动
而静态方法,不属于哪个对象,属于类,因此不需要去绑定$this.
即,静态方法,通过类名就可以调动.
*/
class Human2 { public $name = '张三'; static public function cry() { echo '5555'; } public function eat() { echo '吃饭'; } public function intro() { echo $this->name; } }// 此时一个对象都没有Human2::cry();// 下面这个eat是非静态方法,应由对象来调用Human2::eat();/* 报错提示: Strict standards: Non-static method Human2::eat() should not be called statically */echo '<br >';//Human2::intro();/* 直接报错: Fatal error: Using $this when not in object context */
/*
总结:
如上分析,其实非静态方法,是不能由类名静态调用的.
*/
$lisi = new Human2();$lisi->cry(); //5555
/*
类->访问->静态方法 可以
类->动态方法 方法内没有this的情况下,严重不支持.逻辑上解释不通.
对象->访问动态方法 可以
对象->静态方法 可以
*/
相关推荐:
php面向对象之继承、多态、封装简介
php面向对象设计原则概述
以上就是PHP面向对象笔记 —— 123 图解静态属性与静态方法 的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的PHP面向对象笔记——123图解静态属性与静态方法全部内容,希望文章能够帮你解决PHP面向对象笔记——123图解静态属性与静态方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。