php之static静态属性与静态方法实例分析
本文实例讲述了php之static静态属性与静态方法。分享给大家供大家参考。具体如下:
<?php
/*
* static
*/
/*静态:属于类而不属于单个对象 (全局的,所有对象共享的)
*静态属性:类的方法内调用静态属性时,不要使用$this->方式,而要使用self::的方式
*静态方法:
*在类没有任何对象的时候也能被调用
*当成普通方法来用也没问题的
*在静态方法中不能调用普通方法
*
* */
class xin {
static private $name;
public function setname($namec) {
self::$name = $namec;
}
public function getname() {
return self::$name;
}
static public function name($namecc) {
echo "I am $namecc";
}
}
$xind = new xin();
$xind->setname("地方 <br/>");
echo $xind->getname();
$oldd = new xin();
$oldd->setname("政府 <br/>");
echo $oldd->getname();
echo $xind->getname();
echo xin::name("星星");
echo "<br/>";
?>
运行结果如下:
地方
政府
政府
I am 星星
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
浅析php变量修饰符static的使用
静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失.看看下面的例子: 复制代码 代码如下: function test(){static $a=0;$a++;echo $a;} test();//1test();//2test();//3Note: 静态变量可以按照上面的例子声明.如果在声明中用表达式的结果对其赋值会导致解析错误. 复制代码 代码如下: static $a=0+1;static $a=sqrt(121); 像上面的赋值方式会报错,不信你试试
-
开启PHP Static 关键字之旅模式
声明类成员或方法为static,就可以不实例化类而直接访问.不能通过一个对象来访问其中的静态成员(静态方法除外). 为了兼容PHP4,如果没有指定"可见性",属性和方法默认为public. 由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用. 静态属性不可以由对象通过->操作符来访问. 用::方式调用一个非静态方法会导致一个E_STRICT级别的错误. 就像其它所有的PHP静态变量一样,静态属性只能被初始化为一个字符值或一个常量,不能使用表达式. 所以你可
-
解析php中static,const与define的使用区别
define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段.(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议.)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母.利用宏的优点:1)让代码更简洁明了当然,这有赖于你为宏取一个适当的名字.一般来说,宏的名字更要注重有明确直观的意义,有时宁可让它长点.2)方便代码维护对宏的处理,在编译过程中称为"预处理".也就是说在正式编译前,编译器必须先将代码出现的宏,用
-
PHP类的静态(static)方法和静态(static)变量使用介绍
在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用"->"调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以.但是有前提条件: A. 如果是变量,需要该变量可访问. B. 如果是方法,除了该方法可访问外,还需要满足: b1) 如果是静态方法,没有特殊条件: b2) 如果是非
-
PHP中static关键字以及与self关键字的区别
概述 正在学习设计模式,之前有一篇文章关于单例模式的文章,重新读了这篇文章,发现对static关键字掌握不是很牢靠,重新温习一下. static关键字 PHP手册里对static关键字的介绍如下: 复制代码 代码如下: Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as
-
PHP Static延迟静态绑定用法分析
本文实例讲述了PHP Static延迟静态绑定用法.分享给大家供大家参考,具体如下: PHP5.3以后引入了延迟静态绑定static,它是为了解决什么问题呢?php的继承模型中有一个存在已久的问题,那就是在父类中引用扩展类的最终状态比较困难.来看一个例子. class A { public static function echoClass(){ echo __CLASS__; } public static function test(){ self::echoClass(); } } cla
-
PHP面向对象之旅:深入理解static变量与方法
static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法". 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性和方法被创建时
-
php延迟静态绑定实例分析
本文实例讲述了php延迟静态绑定的方法.分享给大家供大家参考.具体分析如下: php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准.先看一个实例 <?php header("content-type:text/html;charset=utf-8"); class Human{ public static function hei(){ echo "我是父类的hei()方法"; } public function say(){//如
-
简单谈谈php延迟静态绑定
使用场景 先来观察以下代码: abstract class base { //do sth } class aClass extends base{ public static function create(){ return new aClass(); } } class bClass extends base{ public static function create(){ return new bClass(); } } var_dump(aClass::create()); var_
-
PHP延迟静态绑定示例分享
没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了 <?php class A { protected static $def = '123456'; public static function test() { echo get_class(new static); } public static function test2() { echo static::$def; } } class B extends A { protected static $def = '4
随机推荐
- VBS实现查询服务的制造商
- PostgreSQL新手入门教程
- ajaxFileUpload.js插件支持多文件上传的方法
- Java中获取类路径classpath的简单方法(推荐)
- 深入浅析同源策略和跨域访问
- JavaScript使用push方法添加一个元素到数组末尾用法实例
- asp.net MVC分页代码分享
- Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
- Javascript基础教程之比较操作符
- js document.getElementsByClassName的使用介绍与自定义函数
- JavaScript 学习笔记(十二) dom
- jQuery.Form实现Ajax上传文件同时设置headers的方法
- javascript实用方法总结
- 判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
- 百度手写板代码JavaScript远程调用的实现(鼠标输入法)
- php实时倒计时功能实现方法详解
- 用PHP实现登陆验证码(类似条行码状)
- 模拟按Home键退出应用的简单方法(分享)
- Android中使用Toast.cancel()方法优化toast内容显示的解决方法
- 常用软件注册信息查找和备份全攻略
