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 MYSQL中插入当前时间
Apr 06 PHP
劣质的PHP代码简化
Feb 08 PHP
php文件操作实例代码
May 10 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
Jul 02 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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 开发环境配置(Zend Server安装)
2010/04/28 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
php远程下载类分享
2016/04/13 PHP
php unlink()函数使用教程
2018/07/12 PHP
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python实现邮件自动发送
2019/08/10 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
英国高街电视:High Street TV
2018/05/22 全球购物
优秀求职信范文分享
2013/12/19 职场文书
护士辞职信模板
2014/01/20 职场文书
部门活动策划方案
2014/08/16 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
安全施工责任书
2014/08/25 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
超市督导岗位职责
2015/04/10 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
python操作xlsx格式文件并读取
2021/06/02 Python