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 面向对象实现代码
Nov 11 PHP
PHP小程序自动提交到自助友情连接
Nov 24 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
php实现快速排序法函数代码
Aug 27 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
PHP实现链表的定义与反转功能示例
Jun 09 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
python raise的基本使用
2020/09/10 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
材料员岗位职责
2014/03/13 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
网络妈妈观后感
2015/06/08 职场文书
销售人员管理制度
2015/08/06 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
HTML基础详解(下)
2021/10/16 HTML / CSS
nginx日志格式分析和修改
2022/04/28 Servers