Когда я создаю экземпляр нескольких объектов в PHP, каждый объект имеет свой собственный метод или будет создан только один метод?Объекты делятся своими методами или имеют свои собственные
Пример:
Class SimpleClass {
public $attr = 'some value';
public function set_attr($val){
$this->attr = $val ;
}
}
$sc1 = new SimpleClass();
$sc2 = new SimpleClass();
$sc1->set_attr('new value1');
$sc2->set_attr('new value2');
В этом примере я хочу знать, если каждый SimpleClass объект имеет свой собственный метод set_attr() в памяти или, если есть только один. В JavaScript это можно сделать с прототипом Object. И я хочу знать, так ли это на других языках.
Просто для уточнения: В JavaScript я могу создать метод, основанный на прототипе объекта:
SimpleClass = function() { this.attr = 'old val'; };
SimpleClass.prototype.set_attr = function(val) { this.attr = val ; };
var sc1 = new SimpleClass();
var sc2 = new SimpleClass();
sc1.set_attr('new val');
sc2.set_attr('new val');
В этом примере будет переменная assigend для каждого объекта, sc1 и SC2, но только один метод (set_attr()) будет принадлежать объекту прототипа SimpleClass.
возможно дубликат [прототипичный наследования в PHP (как в JavaScript)] (HTTP: // stackoverflow.com/questions/2192049/prototypal-inheritance-in-php-like-in-javascript) – Ian