OOP kalıtım - miras yoluyla sınıf genişletme - inheritance

sezaialkan
Sezai Alkan Frontend Developer

Aşağıda alici İsimli Bir Sınıf Oluşturuldu. Bu Sınıfı İçerisine protected Durum Bilgisi İle Sadece Sınıf Ve Alt Sınıflardan Ulaşım Sağlanabilecek Değişkenler Atandı. Sonrasında Tekrar protected Durum Bilgisi İle alicibilgi Adında Method Oluşturuldu. Bu Method İçersine Alici Bilgileri Yazdırıldı.

Aşağıdaki Örnekte alici İsimli Sınıf Bulunmaktadır. 

class alici{       

        #alici bilgiler
        protected $tc    =    "123456";
        protected $ad    =    "Ahmet";
        protected $soyad =    "ALKAN";
        protected $yas   =    "22";      

        protected function alicibilgi(){
            echo "Alici Tc : " . $this->tc;
            echo "<br>";
            echo "Alici Ad : " . $this->ad;
            echo "<br>";
            echo "Alici Soyad : " . $this->soyad;
            echo "<br>";
            echo "Alici Yas : " . $this->yas;
            echo "<br>";
        }     
}

Sonrasında alici Sınıfının, aracbilgi Adında Alt Sınıfı Oluşturuldu. Bu Sınıfı Oluştururken extends İfadesi Kullanıldı. İlk Olarak Alt Sınıfın Adı aracbilgi Sonrasında extends İfadesi Sonrasında Üst Sınıfın Adı alici Sıralaması İle Oluşturduk. Bu Alt Sınıfın İçersinde 
Tekrar protected Durum Bilgisi İle Sadece Sınıf Ve Alt Sınıfların Ulaşabileceği Şekilde Değişkenler Ve aracsatis Adında Fonksiyon Oluşturduk.

Bu Fonksiyonun İçersinde Hem aracbilgi Alt Sınıfından Hemde alici İsimli Sınıftan Bilgiler Çektik.

class aracbilgi extends alici{

        #araç bilgisi
        protected $aracmarka = "Seat";
        protected $aracmodel = "İbiza";
        protected $aracyil     = "2014";

        protected function aracsatis(){

            echo $this->ad . " " . $this->soyad . "<br>" ;
            echo $this->aracmarka . " Marka <br>" ;
            echo $this->aracmodel . " Modelinde <br>" ;
            echo $this->aracyil . " Tarihinde Üretilmiş Bir Araç ";
        }                  
}

Bu Kısımda final Deyimine Değineceğiz, final Değimi İle Oluşturulmuş Bir Alt Sınıf , Devam Ettiğiniz Alt Sınıf Sıralaması Son Bulur Bu Sınıf Sonrasında Alt Sınıf Oluşturamazsınız. Oluşturduğunuz Vakit Kullanıcı Tarafına Hata Verecektir. Bu Alt Sınıfta private İle Durum Bilgisi İle Oluşturulmuş Sadece Sınıf İçersinden Erişim Sağlayabileceğimiz Bir Değişken Oluşturduk. Devamında public Durum Bilgisi İle Parametreli Method Oluşturduk. Bu Method İçersinde Parametresi "sattı" İfadesi İle Gelirse Aracı Aldı, "satmadı" Parametresi İle Gelirse Almaktan Vazgeçti Diye Ekrana Çıktı Çıkaracaktır.

final class durum extends aracbilgi{
        #durum bilgi
        private $durum;

        public function sondurum($gelen = NULL){

             $this->durum = $gelen;
             if($this->durum == "sattı"){

                $this->alicibilgi();
                echo "<br>";
                echo $this->aracsatis() . "Aldı";

               }else if($this->durum == "satmadı"){

               $this->alicibilgi();
               echo "<br>";
               echo $this->aracsatis() . "Almaktan Vazgeçti";
            }
          }     
}          

$nesne = new durum();
$nesne->sondurum("satmadı");

Yorumlar

Yorum Yapabilmek İçin Giriş Yapmalısınız.
İlk Yorum Yapan Sen Ol!
Uçur Beni Kahramanım Yukarı Çık
Bu web sitesi çerezleri kullanıyor. Devam ederek çerez kullanımını kabul etmiş oluyorsunuz. Detay

Devam Etmek İçin Giriş Yapın

Kod Hocası İle Paylaşımda bulunabilir, Kendini geliştirebilirsin. Sende Hemen Giriş Yap Aramıza Katıl.

GirişKayıt Ol