导航:首页 > 编程语言 > 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静态类有什么用相关的资料

热点内容
什么叫解压缩下载的文件 浏览:861
什么牌子的手机加密狗好用 浏览:535
程序员编程学习笔记 浏览:863
吃鸡亚服怎么选择不了服务器 浏览:657
数控设备宏程序编程 浏览:839
高速铣编程培训 浏览:649
天正改命令 浏览:772
路由器域名服务器地址怎么填 浏览:87
外挂编译环境用什么 浏览:216
华为云服务器最新价格 浏览:853
自学plc编程pdf 浏览:197
邮件客户端linux 浏览:631
androidhtml5交互 浏览:204
为什么编译器其他函数识别不了 浏览:844
kindle看扫描pdf 浏览:37
自驾车跑腿哪个app好 浏览:199
腾讯云校园服务器已认证 浏览:790
如何解开应用加密 浏览:902
考研词汇刘一男pdf 浏览:119
kali的内核头编译 浏览:867