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 相关文章推荐
简单易用的计数器(数据库)
Oct 09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
php include的妙用,实现路径加密
Jul 29 PHP
浅析PHP中的UNICODE 编码与解码
Jun 29 PHP
简单的php文件上传(实例)
Oct 27 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
php关联数组快速排序的方法
Apr 17 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 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
星际RPG字典
2020/03/04 星际争霸
用php守护另一个php进程的例子
2015/02/13 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
浅谈JavaScript之事件绑定
2013/07/08 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
浅谈node的事件机制
2017/10/09 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
python的正则表达式re模块的常用方法
2013/03/09 Python
python中bisect模块用法实例
2014/09/25 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python下载指定页面上图片的方法
2016/05/12 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
德语专业求职信
2014/03/12 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
小学生差生评语
2014/12/29 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
python库sklearn常用操作
2021/08/23 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB