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 相关文章推荐
杏林同学录(四)
Oct 09 PHP
PHP的FTP学习(三)
Oct 09 PHP
PHP新手上路(十)
Oct 09 PHP
PHP4中session登录页面的应用
Jul 25 PHP
PHP文件上传原理简单分析
May 29 PHP
php 函数中使用static的说明
Jun 01 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
laravel 判断查询数据库返回值的例子
Oct 11 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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
解析strtr函数的效率问题
2013/06/26 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
nginx 设置多个站跨域
2021/03/09 Servers
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
python 如何区分return和yield
2020/09/22 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
教师对学生的评语
2014/04/28 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
公司员工离职感言
2015/08/03 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫