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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
加强版phplib的DB类
Mar 31 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
PHP Web木马扫描器代码分享
Sep 06 PHP
Yii清理缓存的方法
Jan 06 PHP
nginx下安装php7+php5
Jul 31 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 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 缓存实现代码及详细注释
2010/05/16 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
php 伪静态之IIS篇
2014/06/02 PHP
php自动加载方式集合
2016/04/04 PHP
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
详解Django中的form库的使用
2015/07/18 Python
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python3+Appium安装使用教程
2019/07/05 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
pytorch masked_fill报错的解决
2020/02/18 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
机电一体化自荐信
2013/12/10 职场文书
广告业务员岗位职责
2014/02/06 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
市场营销策划方案
2014/06/11 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android