设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php 静态属性和静态方法区别详解
返回列表
查看:
1750
|
回复:
0
php 静态属性和静态方法区别详解
[复制链接]
xgnic
当前离线
积分
11142
3444
主题
3465
帖子
1万
积分
管理员
积分
11142
发消息
电梯直达
楼主
发表于 2018-2-14 05:26:51
|
只看该作者
|
倒序浏览
|
阅读模式
静态
public、private、protected
静态属性
在属性或方法前加static关键字,即为静态属性
在实际工作中会有一个类的多个对象,可能会共享一份数据。
解决办法:
1:类常量,不能更改。
示例:
2:有时在共享一份数据后,还要所有的共享此数据的对象还允许更改。
所以就有static
语法:
示例:
提示:静态属性与类常量相似(相同),唯一的区分是类常量不可以更改,静态属性可以更改。访问方法是一样的。
:: 只能访问类常量、静态属性、静态方法
静态属性需要加$,常量名前没有$,所以访问类常量时根本不需要加。
-> 后面不需要加$
静态方法
方法前加static,即为静态方法
静态成员的访问:静态属性的访问
公共静态属性在类外访问:
语法:
类名::静态属性名
类内访问所有的静态属性
静态方法的访问
类外访问
语法:
静态方法,存在类空间。
类名::方法名();
类内访问:
语法:
self::方法名();
静态与非静态的区别:
静态属性保存在类空间,非静态属性保存在对象空间
静态属性的访问,通过类访问(:
,非静态属性的访问通过对象(->)
静态方法的访问,通过类访问(:
,
如果一个方法内部不操作属于对象空间的属性,那么将封装成静态方法,通过类来调用,此种方法效率会快很多。
静态方法中不能出现$this
*******
重要提示:
属于类的使用类名或self::,如果属于对象的使用对象名或$this->。(普通方法除外==>虽然普通方法属于类空间,但还是需要使用$this或对象名访问)
魔术方法
php输出语句:
echo 一种语法结构
只能输出标量数据类型,对于布尔值false没有输出
print 函数
只能输出标量数据类型,对于布尔值false没有输出
print_r() 不但能输出标量数据类型,还能输出数据,对于布尔值false没有输出
var_dump($v1,$v2); 输出变量更多的信息,主要是给程序员调试程序使用
__tostring();
在对一个对象进行echo时,意味着,将一个结构,转换成字符串。
__tostring()魔术方法,是在由于某种操作欲将一个对象转换为字符串时,由PHP自动执行机制,来调用此方法。
此方法就是为了捕获错误(Fatal Erorr 致命错误),输出一个提示信息
示例:
__clone();
clone(); 克隆函数
您可能感兴趣的文章:
php面向对象中static静态属性和静态方法的调用
php之static静态属性与静态方法实例分析
php中类和对象:静态属性、静态方法
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端