02-10-2012, 22:35
Witam mam pytanie, mamy taki poglądowy kod , metoda z klasy Foo przyjmuje jako argument obiekt klasy Bar, może jest to trywialne pytanie aczkolwiek mimo iż nie zastosowano dziedziczenia, to wewnątrz klasy Foo wywołujemy metodę z klasy Bar i to wszystko działa. Jak działa ten mechanizm?. Czy w metodzie getVar działamy na obiekcie Bar stąd mamy dostęp do metod tej klasy ?
Kod:
class Foo{
public function getVar(Bar $obj){
return $obj->get();
}
}
class Bar{
private $_var2= "ala";
public function get(){
return $this->_var2;
}
}
$obj1=new Foo;
$obj2=new Bar;
echo $obj1->getVar($obj2);