php中类和对象:静态属性、静态方法


Posted in PHP onApril 09, 2017

在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。

静态属性

与普通的成员属性不同,静态属性属于类本身而不属于类的任何实例。静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们。

由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性,使用语法格式如下:

类名称::$静态属性名称

其中,符号”::”被称作范围解析操作符,它可以用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果想在同一类的成员方法中访问静态属性,可以通过在该静态属性的名称前加上操作符”self::”来实现。例子如下:

class DaBing{
  static $bing=0;   //定义静态属性 bing
  function addOne(){
    self::$bing++;    //调用同一类中的静态属性 bing
    echo"\$bing的值为:".self::$bing++;
  }
}
$obj=new DaBing();
$obj->addOne();

该程序使静态属性的值加1,执行结果为:1

静态方法

在PHP中将成员方法声明为静态,就称其为静态方法。由于静态方法不受任何具体对象的限制,所以不需要建立类实例就可以直接引用类中的方法。语法格式如下:

类名称::静态方法名称([参数1,参数2,……])
与调用静态属性相同,在类中使用操作符”self::”来表示调用同一类中的静态方法,例子如下:

class DaBing{
  static function addOne($number){ //定义静态方法 addOne()
    echo"\$number+1=";
    echo $number+1;
  }
  static function showResult($number){
    echo"\$number=".$number;
    echo"<br>";
    self::addOne($number); //调用同一类中的静态方法 addOne()
  }
}
$number=100;
DaBing::showResult($number);

该程序执行的结果为:

$number=100
$number+1=101

PHP 相关文章推荐
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
php apache开启跨域模式过程详解
Jul 08 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
ThinkPHP中调用PHPExcel的实现代码
Apr 08 #PHP
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
php输入数据统一类实例
2015/02/23 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
onpropertypchange
2006/07/01 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
js获取url传值的方法
2015/12/18 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
template.js前端模板引擎使用详解
2017/10/10 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
python实现网页录音效果
2020/10/26 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
什么是View State?
2013/01/27 面试题
人事文员岗位职责
2014/02/16 职场文书
金融管理应届生求职信
2014/02/20 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
理想演讲稿范文
2014/05/21 职场文书
初中教师个人总结
2015/02/10 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
Python学习之os包使用教程详解
2022/03/21 Python