导航:首页 > 编程语言 > php静态类有什么用

php静态类有什么用

发布时间:2024-01-10 17:04:57

㈠ 静态方法 有什么优缺点 php中静态方法(s

static方法是类中的一个成员方法,属于整个类,即使不用创建任何对象也可以直接调用!
静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。
静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
C++中,若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。静态方法只能用类的静态成员。

㈡ php static 方法有什么好处

  1. 静态方法不需要所在类被实例化就可以直接使用。

  2. 静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。

  3. 静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。

㈢ php class中public,private,protected,static

1. public:权限是最大的,可以内部调用,实例调用

2. protected: 受保护类型,用于本类和继承类调用

常用场景在权限设置

有需要用到权限的Class,只要继承Base这个Class即可用到登录验证。执行Login的时候会先运行Base里面的方法

3. private: 私有类型,只有在本类中使用。

4. static: 一般是在传值的时候使用,表示值不会被修改,默认为public,可用::访问

㈣ php 类中的static有什么作用

static 是C中很常用的修饰符,它被用来控制变量的存储方式和可见性
static 声明的变量在C语言中有两方面的特征:

1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。

2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。

2、问题:Static的理解

关于static变量,请选择下面所有说法正确的内容:

A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;

B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;

C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;

D、静态全局变量过大,可那会导致堆栈溢出。

答案与分析:

对于A,B:根据本篇概述部分的说明b),我们知道,A,B都是正确的。

对于C:根据本篇概述部分的说明a),我们知道,C是正确的(所谓的函数重入问题,下面会详细阐述)。

对于D:静态变量放在程序的全局数据区,而不是在堆栈中分配,所以不可能导致堆栈溢出,D是错误的。

因此,答案是A、B、C。

3、问题:不可重入函数

曾经设计过如下一个函数,在代码检视的时候被提醒有bug,因为这个函数是不可重入的,为什么?

unsigned int sum_int( unsigned int base )
{
unsigned int index;
static unsigned int sum = 0; // 注意,是static类型的。
for (index = 1; index <= base; index++)
{
sum += index;
}
return sum;
}

答案与分析:

所谓的函数是可重入的(也可以说是可预测的),即:只要输入数据相同就应产生相同的输出。

这个函数之所以是不可预测的,就是因为函数中使用了static变量,因为static变量的特征,这样的函数被称为:带“内部存储器”功能的的函数。因此如果我们需要一个可重入的函数,那么,我们一定要避免函数中使用static变量,这种函数中的static变量,使用原则是,能不用尽量不用。

将上面的函数修改为可重入的函数很简单,只要将声明sum变量中的static关键字去掉,变量sum即变为一个auto 类型的变量,函数即变为一个可重入的函数。

当然,有些时候,在函数中是必须要使用static变量的,比如当某函数的返回值为指针类型时,则必须是static的局部变量的地址作为返回值,若为auto类型,则返回为错指针。

㈤ 说说php面向对象编程时static,public,private,protected 各有什么意义

staticpublic与publicstatic是等价的,这两者只是两个修饰符的顺序不同。根据oracle.com教材中第八章的描述,如果两个或两个以上的(不同的)字段修饰符出现在字段声明,它们出现的顺序需与FieldModifier一致,这只是习惯,但不是必需的。部分修饰符说明:public是访问权限修饰符,用于控制外界对类内部成员的访问,声明为public的对象成员是完全共有的,外界可以随意访问,除此之外还有private,protected和默认。static控制类成员变化的修饰符。static是静态成员修饰符,其修饰的静态变量脱离具体对象独立存在,在内存中之后一份拷贝,所有的对象都公用这一个存储空间,所以对static修饰的静态变量进行的修改对该类的所有对象都起作用。static修饰的静态函数代表所有对象的统一操作,只能调用静态变量。static是针对面向对象中的“多态”而提出来的,static修饰的静态成员不存在多态性。附:FieldModifier顺序

阅读全文

与php静态类有什么用相关的资料

热点内容
java数据结构和算法分析 浏览:396
怎么理解虚拟服务器 浏览:402
黑马程序员ai培训课资源 浏览:648
abplc加密软件下载 浏览:421
交叉编译内核后 浏览:275
php小程序100行左右 浏览:103
要进行压缩解压的命令是 浏览:736
mscod编程平台 浏览:520
pdf文字转换word文档 浏览:992
php连接mssql2005 浏览:894
库进行编译可以吗 浏览:773
云南石油app推荐码哪里看 浏览:457
ipone有文件加密吗 浏览:72
蝴蝶文件夹怎么使用 浏览:699
wps文件夹安装包在哪里 浏览:439
android2x 浏览:135
知音购物app哪里下载 浏览:527
stc单片机看门狗 浏览:790
单片机与计算机串口通信 浏览:309
linux安装jdk7 浏览:286