当前位置:首页 > 科技 >

php静态方法调用非静态方法(php静态方法和非静态方法的区别)

来源:原点资讯(www.yd166.com)时间:2024-04-12 03:24:26作者:YD166手机阅读>>

静态方法和实例化方法是PHP编程中经常出现的两种方法,一个是通过类直接调用,一个是先实例化一个类得到一个对象,然后再通过对象来调用。如下图所示:

php静态方法调用非静态方法,php静态方法和非静态方法的区别(1)

虽然,我们一直这样使用,但我们真的知道,什么时候该使用静态方法,什么时候该使用实例化方法吗?

思考误区

通过平时与其他开发人员交流发现,在静态方法和实例化方法的使用上,存在几个思考误区:

1、静态方法常驻内存,实例方法不是,所以静态方法比实例方法效率高,但占内存。

事实上,静态方法和实例化方法在加载时机和占用内存上是一样的,在类第一次被使用时调用的速度基本上没有差别。

方法占不占用更多内存,和它是不是静态没什么关系。

2、静态方法在堆上分配内存,实例方法在堆栈上分配内存。

其实,所有的方法都不可能在堆或者堆栈上分配内存。实际上,方法作为代码是被加载到内存中特殊的代码区的,这个内存区域是不可写的。

类实例化后,其所有的信息,都保存在另外的区域里。

3、实例方法需要先创建实例才可以调用,比较麻烦;静态方法不用,比较简单。

实际上如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。所以所有的实例方法都与实例有关,既然与实例有关,那么创建实例就是必然的步骤,没有麻烦简单一说。

使用原则

1、从面向对象的角度上来说,在选择是使用实例化方法还是静态方法时,应该根据的是该方法和实例化对象是否具有逻辑上的相关性,如果有就应该使用实例化对象,反之,则使用静态方法。

2、如果从线程安全、性能、兼容性上来看,则选用实例化方法为宜。

总结

早期的结构化编程,几乎所有的方法都是“静态方法”,引入实例化方法概念是面向对象概念出现以后的事情了,区分静态方法和实例化方法不能单单从性能上去理解,创建c ,java,c#这样面向对象语言的大师引入实例化方法一定不是要解决什么性能、内存的 问题,而是为了让开发更加模式化、面向对象化。这样说的话,静态方法和实例化方式的区分是为了解决模式的问题。

拿别人一个例子说事:

比 如说“人”这个类,每个人都有姓名、年龄、性别、身高等,这些属性就应该是非静态的,因为每个人都的这些属性都不相同;但人在生物学上属于哪个门哪个纲哪 个目等,这个属性是属于整个人类,所以就应该是静态的——它不依赖与某个特定的人,不会有某个人是“脊椎动物门哺乳动物纲灵长目”而某个人却是“偶蹄目” 的。

,

栏目热文

php是怎么写的(php语言是如何创造出来的)

php是怎么写的(php语言是如何创造出来的)

基本信息姓名:七分简历年龄:25岁电话:150****5433邮箱:577503****@qq.com经验:3年意向:P...

2024-04-12 02:50:08查看全文 >>

php做系统(php实现的简单系统)

php做系统(php实现的简单系统)

编辑导语:权限管理是所有后台系统的都会涉及的一个重要组成部分,在管理后台中对于权限的标准需要准确地把握,并且根据各种需求...

2024-04-12 03:37:30查看全文 >>

php代码书写格式有哪些(php怎么编写好的代码)

php代码书写格式有哪些(php怎么编写好的代码)

PHP之代码编写规范一、编辑器设置1、使用Tab缩进(四个空格),不要直接使用空格2、文件编码格式二、命名设置1、公共库...

2024-04-12 03:33:14查看全文 >>

php标准格式是什么(php标准标记的格式是什么)

php标准格式是什么(php标准标记的格式是什么)

为什么需要编码规范?为了提高工作效率,保证开发的有效性和合理性。为了提高代码可读性和可重复利用性,从而节约沟通成本。ph...

2024-04-12 03:28:46查看全文 >>

php有哪些格式(php打包后是什么格式)

php有哪些格式(php打包后是什么格式)

在平时我们可能会碰到过php文件,可是很多用户不知道php文件是什么文件?也不知道怎么打开php文件?为了满足一些用户的...

2024-04-12 03:13:51查看全文 >>

php格式文件用什么打开(怎么用php语言打开指定文件)

php格式文件用什么打开(怎么用php语言打开指定文件)

对于刚学习PHP编程语言的小伙伴们来说,怎样打开和运行PHP文件是一件比较麻烦的事情,今天我就来教教大家。工具电脑xam...

2024-04-12 03:36:02查看全文 >>

php与html(php中怎么写html)

php与html(php中怎么写html)

很多同学在学习前端的时候,可能会对html与css之间的区别不太了解,今天的这篇文章php中文网给需要的朋友们总结了关于...

2024-04-12 03:26:32查看全文 >>

php的特征是什么(简述php特点)

php的特征是什么(简述php特点)

PHP(PHP: Hypertext Preprocessor的缩写,中文名:“超文本预处理器”)是一种通用开源脚本语言...

2024-04-12 02:55:15查看全文 >>

php代码意思(php代码说明什么)

php代码意思(php代码说明什么)

PHP是一种开源脚本语言,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PH...

2024-04-12 02:55:52查看全文 >>

女生说三飞是什么意思(女生对男生说带你飞什么意思)

女生说三飞是什么意思(女生对男生说带你飞什么意思)

根据大多数研究结果和实际经验,以下是一些男人通常会喜欢的称呼,而女性频繁使用这些称呼可能会让男人更加爱你:1. 亲爱的...

2024-04-12 02:55:18查看全文 >>

文档排行