Advertisement
Guest User

Refactoriranje KOD

a guest
Feb 27th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.36 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <h1 style="color:darkred;">OOP Practice</h1>
  4. </html>
  5. <?php
  6.  
  7. trait BojaDnevnaSoba {
  8.     public function bojaDnevna($boja){
  9.         echo "Boja na dnevna soba: " . $boja;
  10.     }
  11. }
  12.  
  13. class Objekt {
  14.  
  15.     public $ime;
  16.  
  17.     public $adresa;
  18.     private $telBroj;
  19.     protected $kodZaklucuvanje;
  20.  
  21.  
  22.     public function __construct($ime, $adresa, $telBroj, $kodZaklucuvanje)
  23.     {
  24.         $this->ime = $ime;
  25.         $this->adresa = $adresa;
  26.         $this->telBroj = $telBroj;
  27.         $this->kodZaklucuvanje = $kodZaklucuvanje;
  28.     }
  29.  
  30.     public function ime(){
  31.         echo "Ime na objektot: ";
  32.     }
  33.  
  34.  
  35.     public function prikaziSe(){
  36.         echo "{$this->ime}, {$this->adresa}, {$this->telBroj}, {$this->kodZaklucuvanje}";
  37.     }
  38.  
  39.     protected function zvukZvonce(){
  40.         echo "Zvonceto pravi Zrr";
  41.     }
  42.  
  43.     function getKod(){
  44.         return $this->adresa;
  45.     }
  46. }
  47.  
  48. class Kukja extends Objekt {
  49.  
  50.     use BojaDnevnaSoba;
  51.  
  52.     private $kvadraturaDvor;
  53.     private $wc;
  54.     private $sef;
  55.     public $adresa;
  56.     private $telBroj;
  57.     protected $kodZaklucuvanje;
  58.  
  59.     public function __construct($ime, $kvadraturaDvor, $kodZaklucuvanje,  $adresa, $telBroj) //overriding na konstruktorot od Objekt
  60.     {
  61.         parent::__construct($ime, $adresa, $telBroj, $kodZaklucuvanje);
  62.         $this->kvadraturaDvor = $kvadraturaDvor;
  63.     }
  64.  
  65.     public function funkcijaKvadraturaWcStepen($wc){
  66.         print_r($wc*$wc);
  67.     }
  68.  
  69.     public function kvadratura(){
  70.         echo "Ova e kvadraturata na dvorot: {$this->kvadraturaDvor}";
  71.     }
  72.  
  73.     public function ime(){
  74.         echo "Ime na objektot: {$this->ime}";
  75.     }
  76.  
  77.     public function funkcijaKukja(){
  78.         echo "Ova e funkcija na kukjata, ne mi teknuvase druga, pa ja kreirav nejze.";
  79.     }
  80.  
  81.  
  82.     public function zvukZvonce()
  83.     {
  84.         parent::zvukZvonce();
  85.     }
  86.  
  87.     public function kodNaZaklucuvanje(){
  88.         echo "Kodot na zaklucuvanje, iako ne treba da go znae sekoj, e: {$this->kodZaklucuvanje}";
  89.     }
  90.  
  91. }
  92.  
  93. class Stan extends Objekt {
  94.  
  95.     use BojaDnevnaSoba;
  96.  
  97.     public $sobi;
  98.     private $skali;
  99.     private $stekeri;
  100.     public $adresa;
  101.     private $telBroj;
  102.     protected $kodZaklucuvanje;
  103.  
  104.     private function funkcijaStan(){
  105.         echo "Ovaa funkcija e na stanot, istata e private, no ima nacin da se prikaze nejzinata sodrzina.";
  106.     }
  107.  
  108.     public function bypassfunkcijaStan(){
  109.         $this->funkcijaStan();
  110.     }
  111.  
  112.  
  113.     public function __construct($ime, $sobi, $skali, $stekeri,  $adresa, $telBroj, $kodZaklucuvanje) //overriding na konstruktorot od Objekt
  114.     {
  115.         parent::__construct($ime, $adresa, $telBroj, $kodZaklucuvanje);
  116.         $this->sobi = $sobi;
  117.         $this->skali = $skali;
  118.         $this->stekeri = $stekeri;
  119.     }
  120.  
  121.  
  122.     public function ime(){
  123.         echo "Ime na objektot: {$this->ime}";
  124.     }
  125.  
  126.     public function sobi(){
  127.         echo "{$this->sobi}";
  128.     }
  129.     public function skali(){
  130.         echo "Brojot na skali e: {$this->skali}.";
  131.     }
  132.  
  133.     public function skaliPoStekeri(){
  134.         echo "Skali pomnozeni so stekeri: ";
  135.         print_r($this->skali*$this->stekeri);
  136.     }
  137.  
  138.     public function zbirSobiSkali(){
  139.         echo "Zbirot na sobi i skali e: ";
  140.         print_r($this->sobi + $this->skali) ;
  141.     }
  142.  
  143.     public function zvukZvonce()
  144.     {
  145.         echo "Zvonceto pravi zrrrrnn"; //pravam override na nasledenata protected metoda
  146.     }
  147.  
  148. }
  149.  
  150.  
  151. $objekt = new Objekt('bezimen', 'nema_adresa', 'nema_tel_broj', 'nema');
  152. $objekt->prikaziSe();
  153. echo "<br>";
  154. echo "<br>";
  155.  
  156.  
  157. $mirkoKukja = new Kukja('kukja', '255', '3533');
  158. $mirkoKukja->ime();
  159. echo "<br>";
  160. $mirkoKukja->kvadratura();
  161. echo "<br>";
  162. echo "Ova e stepenot na novata vnesena vrednost za kvadratura: ";
  163. $mirkoKukja->funkcijaKvadraturaWcStepen(20);
  164. echo"<br>";
  165. $mirkoKukja->funkcijaKukja();
  166. echo "<br>";
  167. $mirkoKukja->bojaDnevna('crvena');
  168. echo"<br>";
  169. $mirkoKukja->zvukZvonce();
  170. echo "<br>";
  171. $mirkoKukja->kodNaZaklucuvanje();
  172.  
  173. echo "<br>";
  174. $mirkoStan = new Stan('stan', '5', '25', '44');
  175. echo "<br>";
  176. $mirkoStan->ime();
  177. echo "<br>";
  178. echo "Stanot ima: ";
  179. $mirkoStan->sobi();
  180. echo " sobi.";
  181. echo"<br>";
  182. $mirkoStan->skali();
  183. echo"<br>";
  184. $mirkoStan->zbirSobiSkali();
  185. echo"<br>";
  186. $mirkoStan->skaliPoStekeri();
  187. echo"<br>";
  188. $mirkoStan->zvukZvonce();
  189. echo"<br>";
  190.  
  191. $mirkoStan->bypassfunkcijaStan();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement