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与XML的PDF文档生成技术
Oct 09 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
smarty内置函数section的用法
Jan 22 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
Symfony2学习笔记之系统路由详解
Mar 17 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
Mar 04 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
js实现简单计算器
2015/11/22 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
关于jquery form表单序列化的注意事项详解
2017/08/01 jQuery
实例分析js事件循环机制
2017/12/13 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
python实现图片批量剪切示例
2014/03/25 Python
Django验证码的生成与使用示例
2017/05/20 Python
python爬虫使用cookie登录详解
2017/12/27 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python编写微信公众号首图思路详解
2019/12/13 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
高中生毕业学习总结的自我评价
2013/11/14 职场文书
运动会广播稿300字
2014/01/10 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
关于军训的感想
2015/08/07 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书