php 静态属性和静态方法区别详解


Posted in PHP onApril 09, 2017

静态

public、private、protected

静态属性

    在属性或方法前加static关键字,即为静态属性

    在实际工作中会有一个类的多个对象,可能会共享一份数据。

解决办法:

1:类常量,不能更改。

示例:

php 静态属性和静态方法区别详解

2:有时在共享一份数据后,还要所有的共享此数据的对象还允许更改。

所以就有static

语法:

php 静态属性和静态方法区别详解

示例:

php 静态属性和静态方法区别详解

提示:静态属性与类常量相似(相同),唯一的区分是类常量不可以更改,静态属性可以更改。访问方法是一样的。

::        只能访问类常量、静态属性、静态方法

    静态属性需要加$,常量名前没有$,所以访问类常量时根本不需要加。

->        后面不需要加$

静态方法

方法前加static,即为静态方法

php 静态属性和静态方法区别详解

静态成员的访问:静态属性的访问

公共静态属性在类外访问:

语法:

    类名::静态属性名

php 静态属性和静态方法区别详解

类内访问所有的静态属性

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

静态方法的访问

类外访问

语法:

    静态方法,存在类空间。

类名::方法名();        

php 静态属性和静态方法区别详解

类内访问:

语法:

    self::方法名();

php 静态属性和静态方法区别详解

静态与非静态的区别:

静态属性保存在类空间,非静态属性保存在对象空间
静态属性的访问,通过类访问(::),非静态属性的访问通过对象(->)
静态方法的访问,通过类访问(::),
如果一个方法内部不操作属于对象空间的属性,那么将封装成静态方法,通过类来调用,此种方法效率会快很多。
静态方法中不能出现$this

*******

重要提示:属于类的使用类名或self::,如果属于对象的使用对象名或$this->。(普通方法除外==>虽然普通方法属于类空间,但还是需要使用$this或对象名访问)

魔术方法

php输出语句:

echo        一种语法结构

    只能输出标量数据类型,对于布尔值false没有输出

print        函数

    只能输出标量数据类型,对于布尔值false没有输出

print_r()    不但能输出标量数据类型,还能输出数据,对于布尔值false没有输出

var_dump($v1,$v2);        输出变量更多的信息,主要是给程序员调试程序使用

__tostring();

    在对一个对象进行echo时,意味着,将一个结构,转换成字符串。

    __tostring()魔术方法,是在由于某种操作欲将一个对象转换为字符串时,由PHP自动执行机制,来调用此方法。

    此方法就是为了捕获错误(Fatal Erorr 致命错误),输出一个提示信息

示例:

php 静态属性和静态方法区别详解

__clone();

    clone();        克隆函数

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

PHP 相关文章推荐
php 运行效率总结(提示程序速度)
Nov 26 PHP
php注销代码(session注销)
May 31 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
IIS安装Apache伪静态插件的具体操作图文
Jul 01 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
详解PHP中array_rand函数的使用方法
Sep 11 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
php中类和对象:静态属性、静态方法
Apr 09 #PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 #PHP
PHP对象相关知识总结
Apr 09 #PHP
YII2框架中使用yii.js实现的post请求
Apr 09 #PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 #PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 #PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 #PHP
You might like
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
Grid得到选择行数据的方法总结
2011/01/17 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
js实现微信聊天效果
2020/08/09 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
怎样客观的做好自我评价
2013/12/28 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
高一新生军训感言
2014/03/02 职场文书
迎新生欢迎词
2015/01/23 职场文书
检讨书模板
2015/01/29 职场文书
红白喜事主持词
2015/07/06 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
标准发言稿结尾
2019/07/18 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
Golang 遍历二叉树
2022/04/19 Golang