> Abiejuose objektuose naudojama klasė Unit turi pasiekti tik to objekto kintamąjį. Arba aš kažką labai smarkiai praleidžiu OOP arba
> noriu kažko nesamoningo.
Bazinė Unit pasiekia tik nuosavus ir tėvinių klasių kintamuosius.
Atitinkamai išvestinė Core pasieks bet kurį Unit kintamąjį, kuris yra
public.
Norint pasiekti išvestinės kintamuosius -- deja, friend class čia
nėra, dalinis pakaitalas bus per abstrakčius getter/setter metodus:
abstract class Base {
abstract protected function getChldData();
function result() {
echo $this->getChldData() . "\n";
}
}
class Chld extends Base {
var $data;
public function Chld($init) {
$this->data = $init;
}
protected function getChldData() {
return $this->data;
}
}
$c = new Chld('aaa');
$c->result();
--
saimhe