php中静态变量和静态方法
1,静态变量:所有对象共享的变量成为静态变量。静态变量类似于全局变量,不过全局变量破坏对象的封装性,因此其对应于面向过程;静态变量对应于面向对象。
2,全局变量,全局变量的使用实例如下,声明全局变量时候 global $global_nums;在局部函数中使用全局变量时候,需要先声明下全局变量再使用,声明时候系统会在栈区创建一个变量,这变量存放地址,指向全局区的全局变量。
<?php /** * Created by PhpStorm. * User: usa007lhy * Date: 2015/10/15 * Time: 21:38 */ global $global_nums; $global_nums = 0; class Child{ public $name; function __construct($name){ $this->name = $name; } public function join_game(){ global $global_nums; $global_nums++; echo $this->name."加入玩雪球游戏<br/>"; } } $child1 = new Child(‘小刚‘); $child1->join_game(); echo $global_nums."个人加入堆雪球的游戏。<br/>" ?>
程序变化时候,内存变化如下图所示
3,静态变量
静态变量只能被类访问,访问静态变量有两种方式,(1)类名::静态变量,任何位置可以使用;(2)self::静态变量,只能在类内部使用,即只能适用于成员函数。
<?php /** * Created by PhpStorm. * User: usa007lhy
* Author: www1.qixoo.com
* Date: 2015/10/15 * Time: 21:38 */ class Child{ public static $nums = 0; public $name; function __construct($name){ $this->name = $name; } public function join_game(){ self::$nums++; echo $this->name."加入玩雪球游戏<br/>"; } } $child1 = new Child(‘小刚‘); $child1->join_game(); echo Child::$nums."个人加入堆雪球的游戏。<br/>" ?>
程序运行时,内存变化如下:
4,静态方法
php中静态变量和静态方法的更多相关文章
- 谈谈java中静态变量与静态方法在有继承关系的两个类中调用
谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...
- java中静态变量与静态方法的继承(转)
总结: 1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量.而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子 ...
- C++类中静态变量和静态方法使用介绍
静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是,全局变量或对象是有局限性的.这一章里,我们主要讲述类的静态成员来实现数据的共享. 静态数据成员 ...
- php中静态变量和静态方法。
在php类的内部当使用static进行修饰了类的属性或者方法,则改属性或者方法被成为类的静态属性或者静态访问, 静态属性和非静态属性的区别 php官方的解释 声明类成员或方法为static,就可以不实 ...
- C#中静态变量和 静态方法的作用
1.静态变量 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求 ...
- C++类中静态变量和静态方法的注意事项
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...
- C++类中静态变量和静态方法使用介绍!
原链接:http://www.ecoviews.cn/net/archives/216.html 静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是 ...
- Java中的静态变量、静态方法问题
由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序
在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...
随机推荐
- 分享一例脚本发版和tomcat重启脚本
线上有个网站业务部署在tomcat上,由于频繁上线修改,需要经常启动tomcat.tomcat服务自带的bin下没有重启脚本,下面分享一例脚本发版和tomcat重启脚本: 1)现将业务代码从svn里下 ...
- 构建Docker+Jenkins持续集成环境
docker和Jenkins不是什么新东西了,两者结合也不是什么稀奇的事情,也已经有很多Jenkins和docker相结合的文章,此文仅为自己的一点心得实践,如有不对的地方,欢迎大家纠正. 先贴上大致 ...
- iOS sha1加密算法
最近在项目中使用到了网络请求签名认证的方法,于是在网上找关于OC sha1加密的方法,很快找到了一个大众使用的封装好的方法,以下代码便是 首先需要添加头文件 #import<CommonCryp ...
- poj 1163 The Triangle
The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 43809 Accepted: 26430 De ...
- [Python] 利用commands模块执行Linux shell命令
http://blog.csdn.net/dbanote/article/details/9414133 http://zhou123.blog.51cto.com/4355617/1312791
- Restful是什么,SOAP Webservice和RESTful Webservice
首先,应该怀着这样一种心态来学习Restful——Restful你可以将其理解一种软件架构风格,并且诠释了Http协议的设计初衷,所以不要把他理解的那么神秘,Restful风格有好处,当然也是有坏处的 ...
- U3D assetbundle加载
using UnityEngine; using System.Collections; public class testLoadFromAB : MonoBehaviour { IEnumerat ...
- python 调用 shell 命令方法
python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 ...
- python为什么会有@classmethod?
今天被问了这么个问题 python为什么要有classmethod? 被问倒了,只能回答:classmethod不需要实例化类,用起来比较方便.这么回答没有什么底细,于是查看了一下python的官方文 ...
- jenkins publish over ssh使用
1.在需要远程的ubuntu服务器上生成密钥,指令:ssh-keygen 一路默认下去,会在~/.ssh目录下生成 id_rsa(私钥).id_rsa.pub(公钥) 2.复制公钥文件id_rsa ...