在 PHP 中,我有以下类定义
class my_pet{
public static $name = "paulie";
public static function get_name(){
return static::$name;
}
}
class my_dog extends my_pet{
public static $name = "stacey";
}
当我回声使用
echo my_dog::get_name();
我会得到“斯泰西”。
如果我改变
返回静态::$name
至
返回自我::$名称;
答案转向“保利”。
在 JavaScript 中,我有以下对象构造函数
function my_pet(){
this.name = "paulie";
}
my_pet.prototype.get_name = function(){
return this.name;
}
function my_dog(){
this.name = "stacey";
}
my_dog.prototype = new my_pet();
my_dog.prototype.constructor = my_dog;
my_pet_instance = new my_dog();
当我调用我的方法时
警报(my_pet_instance.get_name());
我将永远得到“斯泰西”。
JavaScript 是否有等效的后期静态绑定,所以我可以得到“paulie”而不是“stacey”?