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 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
Dec 05 PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
php读取mysql的简单实例
Jan 15 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
php 使用redis锁限制并发访问类示例
Nov 02 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
PHP爆绝对路径方法收集整理
2012/09/17 PHP
基于initPHP的框架介绍
2013/04/18 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
JS数组的赋值介绍
2014/03/10 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
深入解析Python中的线程同步方法
2016/06/14 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
对python中的装包与解包实例详解
2019/08/24 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
python绘制分布折线图的示例
2020/09/24 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
招商业务员岗位职责
2013/12/16 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
工地宣传标语
2014/06/18 职场文书
现场活动策划方案
2014/08/22 职场文书
高中班主任评语
2014/12/30 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js
python计算列表元素与乘积详情
2022/08/05 Python