首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

$this、self和static

image.png 关于类属性、方法调用有3个 $this、self、static $this->foo(); selff::foo(); static::foo(); $this指向当前对象...self::指向类,一般用来访问当前类的静态变量和静态方法,运行之前已经确定指向哪个类。 <?...class Person { public static $name = "小红"; public static function getName() { echo self...不同,它指向类本身,不指向任何实例化对象,一般用来访问类中的静态变量和静态方法; 上例中 new 了两个对象,并修改了其中一个对象的 name 属性,另一个对象的 name 属性值也改变了,所以说,self...static 和 self 一样,都是指向类,一般都用来访问类中的静态变量和静态方法,但是又有一些不一样,具体来讲:self 写在哪个类里,实际调用的就是这个类;static 则是写在父类里,然后通过子类用到了这个

72020

self和super的区别

(1)self调用自己方法,super调用父类方法      (2)self是类,super是预编译指令      (3)[self class]和[super class]输出是一样的     ...①当使用 self 调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用 super 时,则从父类的方法列表中开始找,然后调用父类的这个方法。...②当使用 self 调用时,会使用 objc_msgSend 函数: id objc_msgSend(id theReceiver, SEL theSelector, ...)。...以 [self setName:] 为例,编译器会替换成调用 objc_msgSend 的函数调用,其中 theReceiver 是 self,theSelector 是 @selector(setName...:),这个 selector 是从当前 self 的 class 的方法列表开始找的 setName,当找到后把对应的 selector 传递过去。

1.3K110

详解Python对象本身self

大家学Python面向对象的时候,总会遇到一个让人难以理解的存在:self 这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用呢?...「先下结论:类实例化后,self即代表着实例(对象)本身」 想要理解self有个最简单的方法,就是你把self当做「实例(对象)的身份证。」...上面是用类比的方法解释了下self的含义,说到底self就是代表着实例本身,「当某个实例(对象)调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,而这第一个参数就是self。」...self.name = name # 实例方法 def study(self,examination_results): self.examination_results...是不一样的,因为self代表着实例(对象)本身。

15820
领券