首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHPthis,self,parent的区别

{一}PHPthis,self,parent的区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。...PHPthis,self,parent的区别之二self篇 此篇我们就self用法进行讲解 首先我们要明确一点,self是指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类的静态变量...{三}PHPthis,self,parent的区别之三parent篇 此篇我们就parent的用法进行讲解。...> 里面同样含有this的用法,大家自己分析。我们注意这么个细节:成员属性都是public(公有属性和方法,类内部和外部的代码均可访问)的,特别是父类的,这是为了供继承类通过this来访问。...总结:this是指向对象实例的一个指针,在实例化的时候来确定指向;self是对类本身的一个引用,一般用来指向类的静态变量;parent是对父类的引用,一般使用parent来调用父类的构造函数。

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

全面理解pythonself用法

at 0x000000000284E080>-------------------------------------------------从上面的例子可以很明显的看出...> None 题外话:由于在很多时候描述符类仍然需要知道调用该描述符的实例是谁...,所以在描述符类存在第二个参数ins,用来表示调用它的类实例,所以t.x时可以看到第三行的运行结果第二项为。...从OO的本质理解pythonself 假设要对用户的数据进行操作,用户的数据包含name和age。如果用面向过程的话,实现出来是下面这样子的。...之所以可以在类的各个地方访问数据,本质就是绑定了self这个东西,它方法的第一个参数,可以不叫self,叫其它名字,self只不过是个约定。 下面是面向对象的实现,可以看到,结构化多了,清晰可读。

10.1K10

phpself与static的区别

phpself与static的区别 通过一些示例,我们可以很容易看出self和static的区别。假定我们有class Car – 它有两个方法,model和getModel。...对于self的解释 关键字“self”的工作原理是:它会调用当前类(current class)的方法。因为model方法只在class Car定义的,所以对它来说当前类就是class Car。...modelself::getModel(),调用的自然也就是class Car的getModel方法。 这个行为似乎不是我们想要的,它不符合面向对象的设计原则。如何解决呢?...static关键字和延迟静态绑定(late static binding) 在PHP5.3,加入了一个新的特性,叫做延迟静态绑定。它可以帮我们实现多态,解决上面的问题。...phpself和static 现在我们将例子self用static替换,可以看到,两者的区别在于:self引用的是当前类(current class)而static允许函数调用在运行时绑定调用类

54620

PHP面向对象程序设计self、static、parent关键字用法分析

本文实例讲述了PHP面向对象程序设计self、static、parent关键字用法.分享给大家供大家参考,具体如下: 看到php里面有关于后期静态绑定的内容,虽然没有完全看懂,但是也收获不少东西。...self和static在范围解析操作符 (::) 的使用上,并无区别。 在静态函数self和static可以调用静态属性和静态函数(没有实例化类,因此不能调用非静态的属性和函数)。...在非静态函数self和static可以调用静态属性和静态函数以及非静态函数 此时,self和static的表现是一样的,可以替换为该类名::的方式调用。 <?...输出结果: A C fooB 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结...》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。

36240

python之self参数用法

下面我们来介绍一下python的self参数用法。 ---- 二、self参数 注意:类的所有方法都必须至少有一个名为self的参数,并且必须是方法的第1个参数。   ...在Python,由同一个类可以生成无数个对象,当一个对象的方法被调用时,对象会将自身的引用作为第一个参数传递给该方法,那么Python就知道需要操作哪个对象的方法了。   例:self的使用。...class Car: def colour(self,col): #定义赋值颜色方法 self.col=col #赋值...white') #调用方法 car_1.show() #调用方法 car_2.show() #调用方法   在类的方法访问变量时...---- 三、参考 1、廖雪峰的官网 2、python官网 3、Python编程案例教程 ---- 四、总结   以上就是就是关于Python的self参数用法的相关知识,可以参考一下,觉得不错的话,欢迎点赞

26930

PHPself 关键字

PHP群里有人询问 self 关键字的用法,答案是比较明显的:静态成员函数内不能用 this 调用非成员函数,但可以用 self 调用静态成员函数/变量/常量;其他成员函数可以用 self 调用静态成员函数以及非静态成员函数...随着讨论的深入,发现 self 并没有那么简单。鉴于此,本文先对几个关键字做对比和区分,再总结 self用法。...$this-> 调用非静态成员函数,但是可以通过 self:: 调用,且在调用函数未使用 $this-> 的情况下还能顺畅运行。...此行为貌似在不同PHP版本中表现不同,在当前的7.3ok; 在静态函数和非静态函数输出 self ,猜猜结果是什么?...参考 When to use self over $this? 原文:https://www.tlanyan.me/self-in-php/

61510

PHP的=>->和::的用法

PHP=>和->以及::符号的用法 ->的用法 插入式解引用操作符 用于类里,访问类里的函数或对象,就是在类里面定义了一个函数,使用->可以调用这个类里面的函数 <?...['color']='green'; 综上,=>的作用就是用来给数组的值赋值 $arr=array('one' => 1); array['one'] = 1; ::的用法 双冒号操作符,即作用域限定操作符...> 面向对象self和parent的区别 <?...和parent都是调用父类的属性或者方法 不同点:如果两个属性一样,假如都叫$name ,那么self::调用的是自己类的,parent::则是调用父类的 phpextends 在php,extends...一个子类可以继承一个基类,也可以继承多个基类,继承一个基类称为单继承,继承多个基类,称为多继承 但是在php没有多继承,只能使用单继承,也就是说,一个类只能直接从另一个类中继承数据,但是一个类可以有多个子类

16310

php self,this的区别和操作方法实例分析

本文实例讲述了php self,this的区别和操作方法。...,现在网上大多数的资料要么就是按照手册抄过来很官方的一些话,要么就是那些千篇一律的文章,确实有些不好理解,所以只能自己动手来熟悉啦 一. self 1.self可以访问本类的静态属性和静态方法,可以访问父类的静态属性和静态方法...} } $str = new self_test(); echo $str- tank(); 页面输出: tancy 二.this 1.this可以调用本类的方法和属性,也可以调用父类的可以调的方法和属性...更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串...(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。

47321

PHPtry、catch、finally 用法总结

前言 在开发过程异常处理是经常用到的,相信大部分使用 try、catch、finally 的只知道 try 中出现异常 catch 中会捕获,finally 块中代码何时都会执行。...则先执行 return 的代码并保存返回值信息再执行 finally,若 finally 中出现异常或包含 return 则执行结束,若无异常且没有 return 则会执行 try 或 catch 的...整体执行流程如下: 代码说明与示例 当 try-catch-finally 无 return 时,如果 try 块中出现异常则进入 catch ,执行完 catch 中代码后进入 finally...try 块无异常时执行完 try 块直接执行 finally。...在 catch 是不方便处理的,特别是在含有多个 catch 段的时候,相同的代码可能需要重复写几次。

1.2K30

php面向对象程序设计self与static的区别分析

本文实例讲述了php面向对象程序设计self与static的区别。分享给大家供大家参考,具体如下: 1、假设我们有个Car类,它有2个方法:model()和getModel()。...3、关键字self的工作原理是:它会调用当前类的方法。 因为model()方法只在Car类定义的,所以对self来说当前类就是Car类。...self::getModel()就是调用Car类的getModel方法。 这似乎不是我们想要的,如何解决呢?...4、解决方案一:在Mercedes类覆盖model()方法 class Mercedes extends Car { public function model(){ //这里我们使用了关键字self...此时我们调用: $mercedes = new Mercedes(); $mercedes- model(); // 输出:I am mercedes 6、小结 在php5.3加入了一个新特性,叫做延迟静态绑定

40620
领券