kyljePikkus=$uusPikkus; } public function pindala(){ return $this->kyljePikkus*$this->kyljePikkus; } public function kysiHTML(){ return "
"; } } abstract class Paigutaja implements VeebisVaadatav{ protected $hoidla=array(); function lisaVaadatav(VeebisVaadatav $v){ array_push($this->hoidla, $v); } } class LehePaigutaja extends Paigutaja{ function kysiHTML(){ $t=""; foreach($this->hoidla as $v){ $t.=$v->kysiHTML(); } return $t; } } class TabelissePaigutaja extends Paigutaja{ private $veergudearv; function __construct($veergudearv){ $veergudearv=intval($veergudearv); if($veergudearv<1){ throw new Exception("Veege peab olema positiivne arv"); } $this->veergudearv=$veergudearv; } function kysiHTML(){ $t=""; $ridadearv=intval((count($this->hoidla)-1)/$this->veergudearv)+1; for($reanr=0; $reanr<$ridadearv; $reanr++){ $t.="\n"; for($veerunr=0; $veerunr<$this->veergudearv; $veerunr++){ $t.=""; } $t.=""; } $t.="
"; $kohanr=$reanr*$this->veergudearv+$veerunr; if($kohanrhoidla)){ $t.=$this->hoidla[$kohanr]->kysiHTML(); } else { $t.="tyhi"; } $t.="
"; return $t; } } $r=new Ruut(50); $kahtlane=new stdClass(); // echo $r->kysiHTML(); $paigutaja=new TabelissePaigutaja(5); $paigutaja->lisaVaadatav($r); for($i=0; $i<10; $i++){ $paigutaja->lisaVaadatav(new Ruut(30)); } //$paigutaja->lisaVaadatav($kahtlane); $tabel2=new TabelissePaigutaja(4); $tabel2->lisaVaadatav($paigutaja); $tabel2->lisaVaadatav(new Ruut(100)); // echo $tabel2->kysiHTML(); ?> Paigutamine

Paigutamise leht

kysiHTML(); ?>