arv1=$a1; $this->arv2=$a2; $this->eesliide=$eesliide; $this->tehe="+"; $this->loeSaabuvadAndmed(); } function kysiTulemus(){ return $this->arv1+$this->arv2; } function kysiHTML(){ return " $this->tehe ".$this->kysiTulemus()."
"; } function loeSaabuvadAndmed(){ if(isset($_REQUEST[$this->eesliide."_a1txt"])){ $this->arv1=intval($_REQUEST[$this->eesliide."_a1txt"]); $this->arv2=intval($_REQUEST[$this->eesliide."_a2txt"]); } } } class Korrutaja extends Arvutaja{ function __construct($a1, $a2, $eesliide){ Arvutaja::__construct($a1, $a2, $eesliide); $this->tehe="x"; } function kysiTulemus(){ return $this->arv1*$this->arv2; } } class PealkirjagaKuvaja implements Kuvatav{ protected $kuvatav, $pealkiri; function __construct(Kuvatav $k, $p){ $this->kuvatav=$k; $this->pealkiri=$p; } function kysiHTML(){ return "

$this->pealkiri

". $this->kuvatav->kysiHTML()."
"; } } /* Looge klass TabelisKuvaja, millel määratakse ette tabeli veergude arv. Klassi põhjal loodud objektile saab lisada Kuvatavaid, käsuga kuvaHTML väljastatakse sisse pandud andmed HTML-tabelis. */ class TabelisKuvaja implements Kuvatav{ protected $kuvatavad=array(), $veergudearv; function __construct($v){ $this->veergudearv=$v; } function lisaKuvatav(Kuvatav $k){ array_push($this->kuvatavad, $k); } function kysiHTML(){ $t=""; $veerg=0; foreach($this->kuvatavad as $k){ if($veerg==0){$t.="";} $t.=""; $veerg++; if($veerg % $this->veergudearv==0){ $t.="\n"; $veerg=0; } } while($veerg>0 and $veerg < $this->veergudearv){ $t.=""; $veerg++; } $t.="
".$k->kysiHTML()."
x
"; return $t; } } /* Looge klass VeebiTekst, mis oleks Kuvatav ning näitaks välja tema sisse pandud teksti. Kujundage kaheveerulise TabelisKuvaja abil veebileht, kus vasakul TabelisKuvajas üksteise all on mitmesugused Arvutajad ning paremal servas TabelisKuvajas üksteise all on pealkirjadega VeebiTekstid */ $a=new Arvutaja(3, 5, "a"); $b=new Korrutaja(0, 0, "b"); $arvutajad=array($a, new PealkirjagaKuvaja($b, "Palun korruta"), new Arvutaja(2, 4, "c")); $tk=new TabelisKuvaja(3); foreach($arvutajad as $kuvatav){ $tk->lisaKuvatav($kuvatav); } ?> Arvutamine

Arvutamise leht

kysiHTML(); } */ echo $tk->kysiHTML(); ?>