self(): 返回从定义方法的类的实例
static(): 返回使用方法的类的实例(可以是继承出来的类)
例如:
class A { public static function get_self() { return new self(); } public static function get_static() { return new static(); } } class B extends A {} echo get_class(B::get_self()); // A echo get_class(B::get_static()); // B echo get_class(A::get_static()); // A
相关推荐
静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类 php类中static和self的区别,php类的定义中经常能看到self和static,在运行的时候经常发现结果并没有区别,但是肯定不是没有区别,因为...
本文将详细探讨在类方法中使用`self`的关键注意事项,以帮助开发者更好地理解和避免潜在的问题。 首先,理解Objective-C中的`self`关键字。在类方法中,`self`代表的是类本身,而在实例方法中,`self`则是指向当前...
总结一下,`self` 和 `static` 的关键区别在于: 1. `self` 总是指向定义它的类,即静态成员被声明的类,不受子类继承的影响。 2. `static` 关键字则允许在运行时动态绑定,根据实际调用的类来确定要执行的方法,...
在PHP编程语言中,`new self` 和 `new static` 都是用来实例化类的静态方法,但它们之间存在一些重要的区别。理解这些差异对于编写可扩展和灵活的面向对象代码至关重要。 首先,我们来看一下这两个关键字的基本用法...
本文提出的“Self-Supervised Motion Learning From Static Images”(简称MoSI)旨在通过自监督学习解决这一问题。作者Ziyuan Huang等人创新性地提出从静态图像中学习运动,模型通过分类由MoSI方法生成的伪运动来...
静态变量和方法与类紧密关联,而非与类的实例相关。下面我们将深入探讨`static`关键字的工作原理及其应用场景。 1. **静态变量** 静态变量是属于类本身而非类的实例的变量。这意味着所有类的实例共享同一份静态...
在PHP面向对象编程中,self关键字和static关键字均用于引用类自身,但它们在不同场景下有各自的用途和区别。self关键字用于在类的静态方法中引用其所在的类,而static关键字则是在PHP5.3之后引入的,用于引用类的...
主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下
今天在coding的时候,发现了 new static(),觉得实例化的地方不是应该是 ...然后通过子类直接/间接用到了这个static, 这个static指的就是这个子类, 所以说static和$this很像, 但是static可以用于静态方法和属性等. 具体
静态属性和方法在类中有着特殊的地位,它们不依赖于类的实例化即可使用,这使得它们在某些场景下非常有用。下面我们将深入探讨 `static` 的概念、使用方式以及它们在内存中的存储机制。 首先,我们来看一下静态属性...
首先,`self` 关键字是用于访问类的静态属性和方法的,它总是指向定义当前方法或属性的类。换句话说,`self` 是编译时的绑定,它不会随着对象的实例化或继承关系的变化而变化。在`new self`中,`self`关键字用来创建...
在PHP的面向对象编程中,`new self()` 和 `new static()` 是两个常见的构造语法,它们在创建对象时的行为有所不同,特别是在涉及到继承和静态方法时。理解这两个关键字的区别是编写可扩展和灵活代码的关键。 首先,...
因此,总结new self()和new static()的区别,主要体现在两个方面: 1. new self()总是返回定义它的类的实例。不论这个方法是在父类还是子类中被调用,它都会返回同一个类的实例。 2. new static()返回的实例取决于...
下面将详细阐述它们的区别和使用方法。 一、`self` 关键字 `self` 关键字主要用于访问类的静态属性和静态方法。这意味着,无论何时调用 `self`,它总是指向当前类本身,而不是类的实例。因此,`self` 不依赖于任何...
- 创建`$personObject`对象并调用`printPerson`方法时,`parent`关键字使得`Person`类能够访问并使用`Animal`类中的构造函数和其他方法或属性。 通过以上三个关键字的详细介绍,我们可以看到它们在PHP面向对象编程...
self关键字用于引用当前类本身,常用于访问类的静态成员,比如静态方法和静态属性。parent关键字则用于引用当前类的父类,常用于调用父类的方法和属性。 接着,通过具体的代码示例,我们可以更清楚地看到它们的用法...