导航:首页 > 编程语言 > php定义类的静态属性

php定义类的静态属性

发布时间:2023-03-20 06:06:07

1. php 类中的static有什么作用

new关键字是用于实例化一个类
语法为
$class
=
new
classname();
static关键字是用于定义类中静态的属性或方法,静态属性或方法可以不需要实例化就可以直接使用,例如:
?php
class
test
{
static
function
show(){
echo
'hello
world';
}
}
//可以直接使用,不需要实例化
test::show();
//输出hello
world
?

2. php静态属性跟常量有什么区别啊

类的静态属性. 会在类文件加载的时候, 就初始化.
属性值是可以更改的.
常量...一旦定义了. 就无法变更值..
这应该算是最大区别.

另外, 常量只能是简单的数据类型(如: int , string , boolean,float , double) ,
类的静态属性, 可以是php所支持的任意变量类型(但初始化的时候. 只能是简单数据类型, 数组)

3. php 中设置静态属性的意义是什么

静态和公共、受保护、私有这3种属性格式没有关系, 他们并不是并列的

公共、受保护、私有同样可以设置为静态

如:

publicstatic$a;
privatestatic$b;

静态属性的基本作用, 就是与普通的属性不同的是, 静态属性会记住之前的值, 举例说明:

functiona(){
$a=1;
$a+=1;
echo$a;
}
//然后连续3次调用这个函数测试下
a();
a();
a();

上面代码会输出 2 2 2

改成静态属性:

functiona(){
static$a=1;
$a+=1;
echo$a;
}
//然后连续3次调用这个函数测试下
a();
a();
a();

以上会输出 2 3 4

具体什么情况下会用到, 看程序开发的具体需求!

4. php面向对象 静态属性为什么能用对象访问

Static关键字

声明类成员或方法为static,就可以不实例化类而直接访问。不能通过一个对象来访问其中的静态成员(静态方法除外)。

由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。

静态属性不可以由对象通过->操作符来访问。

用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。

就像其它所有的PHP静态变量一样,静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 所以你可以把静态属性初始化为整型或数组,但不能指向另一个变量或函数返回值,也不能指向一个对象。

--------以上为php手册 原文

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

在php中,访问类的方法/变量有两种方法:
1.
创建对象$object
=
new
Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。
2.
直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件:
A.
如果是变量,需要该变量可访问。
B.
如果是方法,除了该方法可访问外,还需要满足:
b1)
如果是静态方法,没有特殊条件;
b2)
如果是非静态方法,需要改方法中没有使用$this,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。
然后我们再看一下使用$object->…
和使用class::…
都有什么区别:
1.
使用$object->…
,需要执行构造函数创建对象;
2.
使用class::…
调用静态方法/变量,不需要执行构造函数创建对象;
3.
使用class::…
调用非静态方法/变量,也不需要执行构造函数创建对象。
然后奇怪的地方就出来了,既然2和3都一样,那静态方法/变量存在还有什么意义呢?
差异还是显然存在的,如下:
1.
静态变量
静态成员只保留一个变量值,而这个变量值对所有的实例都是有效,也就是说,所有的实例共享这个成员。
2.
静态方法
静态方法可以直接使用class::…
来调用,而非静态方法需要满足一定限制条件才能使用class::..
的方法调用,如之前所述

6. 关于php的静态属性

:一般说道静态属性是指类的静态成员属性,用static修饰,虽然名义上是静态的,但是在类中仍然是可以通过成员方法更改它的值。类中的成员方法通过self::访问静态属性而不是通过$this-> 静态常量,一般用const修饰,定义的可以不用写$符号

7. PHP中的静态类是怎么实现的啊

首先:类不可以标注static,也就是说没有“静态类“!

所谓"静态类"指的是:类中含有静态的成员、方法是用static标注的。写法例如:

<?php
classMath
{
publicstaticfunctionceil($value)
{
returnceil($value);
}
publicstaticfunctionfloor($value)
{
returnfloor($value);
}
}
?>


另外类种的静态方法无需实例化成对象即可使用哦,实例化会报错哦;

8. php静态属性和常量的区别,求教

接口:

1 不能够定义静态变量在类的 成员变量(常量除外)

2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用

3 不能使用parent::YOUCONST的方式调用接口的常量

类:

1 const 变量可以使用parent::YOUCONST的方式,className::YOUCONST的方式在子类中访问

2 const定义的变量,在子类中可以被覆盖

3 当然在类中可以定义静态成员变量了

9. php 在类中怎么定义静态变量

<?php

class testClass

{
static $staticvar='hello php';
function getValue(){
return self::$staticvar;
}
}

阅读全文

与php定义类的静态属性相关的资料

热点内容
lk4102加密芯片 浏览:588
怎么更改app店面 浏览:489
设备部门如何做好服务器 浏览:849
androido下载 浏览:478
神奇高量战法副图源码 浏览:830
汇编语言设计凯撒密码加密器 浏览:392
主次梁加密是加在哪里 浏览:664
模板匹配算法matlab 浏览:825
外地程序员去北京 浏览:24
安卓机换苹果12如何转移数据 浏览:420
互联网ntp服务器地址及端口 浏览:613
pdf到word转换器 浏览:269
飞行解压素材 浏览:498
51单片机指令用背吗 浏览:936
unityai算法 浏览:834
我的世界ice服务器如何打开pvp 浏览:975
c语言编程如何做标记 浏览:884
python数据分析实战pdf 浏览:985
u盘插入文件夹 浏览:918
华为amd云服务器 浏览:497