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 相关文章推荐
最省空间的计数器
Oct 09 PHP
用header 发送cookie的php代码
Mar 16 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP curl 并发最佳实践代码分享
Sep 05 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
PHP连接MySQL数据库三种实现方法
Dec 10 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图像处理类代码分享
2012/01/19 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
JavaScript实现答题评分功能页面
2020/06/24 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python实现简易数码时钟
2021/02/19 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
Python中os模块功能与用法详解
2020/02/26 Python
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
什么是属性访问器
2015/10/26 面试题
物业工作计划书
2014/01/10 职场文书
大型营销活动计划书
2014/04/28 职场文书
专职安全员岗位职责
2015/04/11 职场文书
办公室禁烟通知
2015/04/23 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
干部外出学习心得体会
2016/01/18 职场文书