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中执行系统外部命令
Oct 09 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
php设计模式 Command(命令模式)
Jun 26 PHP
php过滤XSS攻击的函数
Nov 12 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
PHP简单日历实现方法
Jul 20 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
Yii2实现ActiveForm ajax提交
May 26 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
php的无刷新操作实现方法分析
Feb 28 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
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
jQuery 技巧小结
2010/04/02 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python 的 with 语句详解
2014/06/13 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python实现超市商品销售管理系统
2019/11/22 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
什么是java序列化,如何实现java序列化
2012/11/14 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
前台领班岗位职责
2013/12/04 职场文书
护理职业生涯规划书
2014/01/24 职场文书
党员党性分析材料
2014/02/17 职场文书
连带责任保证书
2014/04/29 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
医药销售自荐书
2014/05/29 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
MySQL学习必备条件查询数据
2022/03/25 MySQL