Tema: Re: PHP klasės
Autorius: saimhe
Data: 2011-08-23 16:35:45
> 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