TEL:400-8793-956
当前位置:程序、服务器

记住$ this的简单方法

提问者: 近期获赞: 浏览人数: 发布时间:2021-05-12 14:49:05

 问:我想知道是否有任何比喻可以用来记住这一点,例如一个例子?

 
 
答:我记得这样 因此,您基本上是在指“此”对象的属性。不是任何其他对象,而是您当前正在使用的对象。
 
因此,我认为这就是发展的方向。例如,假设您有一个名为Fruit的类。
 
因此,您将创建该类的新实例,该实例称为Apple。
 
新创建的名为$ apple的对象基本上属于Fruit类(或类别)。
 
创建名为Apple的对象时,由于它是水果,因此应具有水果的所有属性。否则你不能称其为水果。
 
也许其中之一就是苹果作为种子获得的果实。由于要成为水果,其中一项要求是您必须要有种子。
 
因此,新创建的Apple对象带有$ seed属性。
 
$ seed属性可以告诉您水果中有多少种子。
 
每个水果都有不同数量的种子。
 
因此,假设该类还包含一个函数,该函数回显可用种子的数量。这将传递到对象(在本例中为$ apple),这意味着您也可以在$ apple中回显种子的数量。与创建的任何其他新水果一起。
 
因此,您已经知道,每次创建新对象(如$ apple)时,它都会接收主类(在本例中为Fruit)的所有函数和属性。
 
因此,如果Fruit类包含$ seed属性和number_of_seeds()方法。在Fruit类中创建的所有内容也将获得$ seed属性和number_of_seeds()方法。
 
在此示例中,新的$ apple对象(从Fruit类创建)获得$ seed属性和number_of_seeds()方法作为Fruit类的一部分。
 
但是,当它接收(或我认为称为继承)这些属性和方法时,就需要一种引用它们的方法。
 
例如,假设我们在类中拥有此原始方法/函数:
 
公共功能number_of_seeds(){返回“种子数:”。???? ->种子;}
 
您应该用什么来替换问号(????),以便每次新创建的对象作为类的一部分收到此函数时,都易于传递?
 
如果您这样做:
 
公共功能number_of_seeds(){返回“种子数:”。水果->种子;}
 
那就没有意义了。因为如果我打电话:
 
echo $ apple-> number_of_seeds();
 
我不想知道一般任何一种水果(水果->种子)中的种子数量。
 
我想特别知道这颗苹果中的种子数量。而且只有这个$ apple。
 
这就是为什么替换????有意义的原因。有了这个”:
 
公共功能number_of_seeds(){返回“种子数:”。这->种子;}
 
如果我在Fruit类中创建了一个名为$ peach的对象,则该对象还将作为Fruit类的成员继承/获取此方法:
 
公共功能number_of_seeds(){返回“种子数:”。这->种子;}
 
因此,使用此方法/功能,我可以自动调用并获取此桃子中的种子数。没有任何其他参考。
上一篇: 为什么不编译?
下一篇: 运行代码时获取null异常错误。./Prompter.java:1