`

PHP静态变量、成员、方法 学习

PHP 
阅读更多
1、静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数时,变量仍会记着原来的值)。
定义静态变量的方法只需要在变量前面加上static关键字即可。
2、静态成员是一种类变量,可以把它看成属于整个类而不是类的某个实例。与一般实例变量不同之处:静态成员只保留一个变量值,而这个变量值对所有的实例是有效的(所有的实例都共享这个成员)。
3静态方法:静态方法的规则和静态变量是相同。使用static关键字可以将方法标记为静态方法,通过类的名称和作用域限定符(::)(paamayim nekudotayim)可以访问到静态方法.
<?php
	var_dump("Hellow word!");
	/**
	 * 测试例子
	*/
	class myObject{
		public static $myStaticVar = 0; //声明一个共用静态的变量myStaticVar赋初始值0
		function myMethod(){
			self::$myStaticVar += 2;
			echo self::$myStaticVar . "\n";
		}
		static function myMethod2(){
			self::$myStaticVar += 2;
			echo self::$myStaticVar . "\n";
		}

	}
	
	class MyOtherObject extends myObject{
		public static $myStaticVar = 0; //重写了myStaticVar
		function myOtherMethod(){
			echo parent::$myStaticVar ."\n";//parent访问夫类
			echo self::$myStaticVar . "\n";//self访问当前类
		}
	}
	
	$instance1 = new myObject(); //实例化myObject
	$instance1->myMethod();
	$instance2 = new myObject();
	$instance2->myMethod();
	$instance3 = new MyOtherObject();
	$instance3->myOtherMethod();
	
	echo myObject::$myMethod2();//
?>
分享到:
评论

相关推荐

    php中静态类与静态变量用法类.zip

    分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”-&gt;”调用:$object-&gt;attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...

    静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题

    在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 2. 工程中包含动态库A,动态库B,可执行程序C。C依赖于A和...

    PHP静态成员变量和非静态成员变量详解

    2. 静态成员变量在内存中只有一份拷贝,所有类的实例共享同一份数据,这意味着修改静态变量会影响到所有实例。 3. 由于静态成员变量在类加载时就已经存在,它们在程序执行期间始终保持不变,不受类实例生命周期的...

    php 静态变量的初始化

    在PHP编程语言中,静态变量是一种特殊的成员变量,它们在类定义时被声明,并在整个脚本执行期间保留其值。与实例变量不同,静态变量不依赖于类的实例,而是与类本身相关联。理解静态变量的初始化是掌握PHP面向对象...

    PHP面向对象之旅深入理解static变量与方法

    静态变量和方法只能访问其他静态成员,因为它们在没有实例化的情况下就可以被调用,而此时非静态成员可能尚未被初始化。所以,静态成员不能访问非静态成员。 5. **使用场景** - 计数器:如示例中的`user`类,记录...

    PHP静态成员变量

    可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 1、...

    php中的静态变量的基本用法

    - **在类中访问**:在类的成员函数内部,可以使用`self::$静态变量名`或者`类名::$静态变量名`来访问静态变量。`self`关键字用于引用当前类,所以通常推荐使用`self::`。例如: ```php class MyClass { public ...

    PHP面向对象之旅深入理解static变量与方法共11页

    静态方法与静态变量类似,也是属于类而非对象的成员。静态方法不能访问非静态的属性或方法,因为它们在没有对象实例的情况下就可以被调用。声明静态方法同样使用`static`关键字: ```php class MyClass { static ...

    PHP程序设计-3期(KC016) 3.8.1创建和使用类拓展知识:成员变量和成员方法.doc

    在上面的代码中,`incrementCount()`方法通过`self::$count`来增加静态变量`count`的值,即使没有创建类的实例也能调用这个方法。 常量在PHP中使用`const`关键字定义,它们一旦被赋值就不能更改。在类中,常量可以...

    PHP中静态变量的使用方法实例分析

    在PHP编程语言中,静态变量是一种特殊的变量类型,它们在函数或类的方法中被声明时,不会在每次调用时重新初始化。这意味着静态变量保留其上一次调用时的值,这种特性使得它们在处理一些特定场景时非常有用,比如...

    php中静态类与静态变量用法的区别分析

    总结一下,静态变量和静态方法的主要优势在于: 1. **资源效率**:无需创建对象即可访问,节省内存。 2. **全局状态**:静态成员变量为类的所有实例共享,可用于存储全局状态或计数器。 3. **便利性**:静态方法在...

    PHP中静态方法(static)与非静态方法的使用及区别.docx

    3. 访问限制:静态方法和属性不能直接访问非静态的成员,因为它们可能在没有实例的情况下被调用。 了解这些区别有助于优化代码设计,选择最适合的方法来处理不同场景下的问题。在实际开发中,合理使用静态和非静态...

    PHP程序设计-3期(KC016) 3.8.1创建和使用类常见问题:成员变量和成员方法.docx

    2. 静态成员:使用`static`关键字声明的成员变量和方法称为静态成员,它们属于类而不是类的实例。这意味着即使没有创建对象,也可以直接通过类名来访问静态成员。 3. 析构函数:与构造函数相反,析构函数`__...

    PHP类的静态(static)方法和静态(static)变量使用介绍

    在PHP编程语言中,类的静态方法和静态变量是面向对象编程的重要组成部分。它们提供了一种无需实例化对象即可访问和操作类成员的方式,从而节省了资源并简化了某些特定场景下的代码结构。 首先,我们要了解什么是...

    php静态成员方法和静态的成员属性的使用方法

    在PHP编程中,静态成员方法和静态成员属性的使用是一个基础但非常重要的知识点。它们允许我们访问某些类的属性和方法而不需要实例化对象。下面详细阐述了静态成员方法和属性的定义、声明、使用以及相关注意点。 ###...

Global site tag (gtag.js) - Google Analytics