Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <h1 style="color:darkred;">OOP Practice</h1>
- </html>
- <?php
- trait BojaDnevnaSoba {
- public function bojaDnevna($boja){
- echo "Boja na dnevna soba: " . $boja;
- }
- }
- class Objekt {
- public $ime;
- public $adresa;
- private $telBroj;
- protected $kodZaklucuvanje;
- public function __construct($ime, $adresa, $telBroj, $kodZaklucuvanje)
- {
- $this->ime = $ime;
- $this->adresa = $adresa;
- $this->telBroj = $telBroj;
- $this->kodZaklucuvanje = $kodZaklucuvanje;
- }
- public function ime(){
- echo "Ime na objektot: ";
- }
- public function prikaziSe(){
- echo "{$this->ime}, {$this->adresa}, {$this->telBroj}, {$this->kodZaklucuvanje}";
- }
- protected function zvukZvonce(){
- echo "Zvonceto pravi Zrr";
- }
- function getKod(){
- return $this->adresa;
- }
- }
- class Kukja extends Objekt {
- use BojaDnevnaSoba;
- private $kvadraturaDvor;
- private $wc;
- private $sef;
- public $adresa;
- private $telBroj;
- protected $kodZaklucuvanje;
- public function __construct($ime, $kvadraturaDvor, $kodZaklucuvanje, $adresa, $telBroj) //overriding na konstruktorot od Objekt
- {
- parent::__construct($ime, $adresa, $telBroj, $kodZaklucuvanje);
- $this->kvadraturaDvor = $kvadraturaDvor;
- }
- public function funkcijaKvadraturaWcStepen($wc){
- print_r($wc*$wc);
- }
- public function kvadratura(){
- echo "Ova e kvadraturata na dvorot: {$this->kvadraturaDvor}";
- }
- public function ime(){
- echo "Ime na objektot: {$this->ime}";
- }
- public function funkcijaKukja(){
- echo "Ova e funkcija na kukjata, ne mi teknuvase druga, pa ja kreirav nejze.";
- }
- public function zvukZvonce()
- {
- parent::zvukZvonce();
- }
- public function kodNaZaklucuvanje(){
- echo "Kodot na zaklucuvanje, iako ne treba da go znae sekoj, e: {$this->kodZaklucuvanje}";
- }
- }
- class Stan extends Objekt {
- use BojaDnevnaSoba;
- public $sobi;
- private $skali;
- private $stekeri;
- public $adresa;
- private $telBroj;
- protected $kodZaklucuvanje;
- private function funkcijaStan(){
- echo "Ovaa funkcija e na stanot, istata e private, no ima nacin da se prikaze nejzinata sodrzina.";
- }
- public function bypassfunkcijaStan(){
- $this->funkcijaStan();
- }
- public function __construct($ime, $sobi, $skali, $stekeri, $adresa, $telBroj, $kodZaklucuvanje) //overriding na konstruktorot od Objekt
- {
- parent::__construct($ime, $adresa, $telBroj, $kodZaklucuvanje);
- $this->sobi = $sobi;
- $this->skali = $skali;
- $this->stekeri = $stekeri;
- }
- public function ime(){
- echo "Ime na objektot: {$this->ime}";
- }
- public function sobi(){
- echo "{$this->sobi}";
- }
- public function skali(){
- echo "Brojot na skali e: {$this->skali}.";
- }
- public function skaliPoStekeri(){
- echo "Skali pomnozeni so stekeri: ";
- print_r($this->skali*$this->stekeri);
- }
- public function zbirSobiSkali(){
- echo "Zbirot na sobi i skali e: ";
- print_r($this->sobi + $this->skali) ;
- }
- public function zvukZvonce()
- {
- echo "Zvonceto pravi zrrrrnn"; //pravam override na nasledenata protected metoda
- }
- }
- $objekt = new Objekt('bezimen', 'nema_adresa', 'nema_tel_broj', 'nema');
- $objekt->prikaziSe();
- echo "<br>";
- echo "<br>";
- $mirkoKukja = new Kukja('kukja', '255', '3533');
- $mirkoKukja->ime();
- echo "<br>";
- $mirkoKukja->kvadratura();
- echo "<br>";
- echo "Ova e stepenot na novata vnesena vrednost za kvadratura: ";
- $mirkoKukja->funkcijaKvadraturaWcStepen(20);
- echo"<br>";
- $mirkoKukja->funkcijaKukja();
- echo "<br>";
- $mirkoKukja->bojaDnevna('crvena');
- echo"<br>";
- $mirkoKukja->zvukZvonce();
- echo "<br>";
- $mirkoKukja->kodNaZaklucuvanje();
- echo "<br>";
- $mirkoStan = new Stan('stan', '5', '25', '44');
- echo "<br>";
- $mirkoStan->ime();
- echo "<br>";
- echo "Stanot ima: ";
- $mirkoStan->sobi();
- echo " sobi.";
- echo"<br>";
- $mirkoStan->skali();
- echo"<br>";
- $mirkoStan->zbirSobiSkali();
- echo"<br>";
- $mirkoStan->skaliPoStekeri();
- echo"<br>";
- $mirkoStan->zvukZvonce();
- echo"<br>";
- $mirkoStan->bypassfunkcijaStan();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement