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中用数组的方法设置cookies
Apr 21 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
php统计文章排行示例
Mar 04 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
php中smarty区域循环的方法
Jun 11 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
php实现学生管理系统
Mar 21 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
php引用传递
Apr 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
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
python 下载文件的几种方法汇总
2021/01/06 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
实习教师自我鉴定
2013/12/09 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
工作表扬信范文
2015/01/17 职场文书
高三英语教学计划
2015/01/23 职场文书
邀请函的格式
2015/01/30 职场文书
学雷锋日活动总结
2015/02/06 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
遗嘱范文
2015/08/07 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python
使用Redis实现实时排行榜功能
2021/07/02 Redis
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫