php 比较self :: hoge()和static :: hoge()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 比较self :: hoge()和static :: hoge()相关的知识,希望对你有一定的参考价值。

<?php
/**
 * 比較 self::hoge() and static::hoge() 
 */

class A1 {
	public static function message() {
		return "A1\n";
	}

	public function say() {
		// self::だと、そのレベルのクラスのメソッドを束縛する
		echo self::message();
	}
}

class B1 extends A1 {
	public static function message() {
		return "B1\n";
	}
}


class A2 {
	public static function message() {
		return "A1\n";
	}

	public function say() {
		// static::だと、最終レベルのクラスのメソッドを束縛する
		echo static::message();
	}
}

class B2 extends A2 {
	public static function message() {
		return "B1\n";
	}
}

$b1 = new B1();
$b1->say();  // => A1

$b2 = new B2();
$b2->say();  // => B1

// 最終レベルで self:: を書いているなら特に問題ないけど、
// 中間レベルのクラスで書くと勘違いしそうな感じ

以上是关于php 比较self :: hoge()和static :: hoge()的主要内容,如果未能解决你的问题,请参考以下文章

指针数组与数组指针

java Hoge.java

模块 '"*.vue"' 没有导出的成员 'Hoge'。您的意思是改用“从“* .vue”导入会议吗?ts(2614)

php 字符串比较失败,self::mystring

PHP stat 文件系统函数

sh [linux:rm all hoge] desktop.iniとかゴミファイルの一括削除rmコマンド