Heim > php教程 > php手册 > 新手请问下各位一个有关问题

新手请问下各位一个有关问题

WBOY
Freigeben: 2016-06-06 19:41:33
Original
1196 Leute haben es durchsucht

新手请教下各位一个问题! PHP在面向对象中,如何理解静态变量以及静态方法? 各位能不通俗的解释下,并且一般变量和方法和静态有什么区别呢? 我个人的理解是这样的 1.静态变量是所有实例化对象都可以使用的,是个公共的变量 2.静态方法只可以使用静态变量,

新手请教下各位一个问题!
PHP在面向对象中,如何理解静态变量以及静态方法?
各位能不通俗的解释下,并且一般变量和方法和静态有什么区别呢?
我个人的理解是这样的
1.静态变量是所有实例化对象都可以使用的,是个公共的变量
2.静态方法只可以使用静态变量,不可以使用一般的变量
这样子理解对面吗?还有请问在实际开发中一般会什么情况会使用呢?




------解决思路----------------------
静态属性是作用域受限的“全局”变量,并不限于在对象中使用(只要他不是私有的或受保护的)
静态方法是作用域受限的函数,静态方法中没有 $this,所以不能使用由 $this 指引的对象属性

静态方法和属性其实是鸡肋,是抱着 人家有我也要有 的心态引入的
虽然并非一无是处,但是能不用就不用
------解决思路----------------------
补充楼上的,
静态方法可以不用实例化直接调用。

例如:
<br />
<?php<br />
class abc{<br />
	public static function test(){<br />
		echo 'test';<br />
	}<br />
}<br />
<br />
abc::test(); // test<br />
?><br />
Nach dem Login kopieren

------解决思路----------------------
静态属性与静态方法是所有对象共有的,但不表示对象可以直接使用它们,它们可以不实例化通过类直接访问,在类的内部也不能通过$this来访问。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage