PHP ile Kalıtım

By Burak TUNGUT - 20.11.2012 - Kategori Diğer Diller

Bu makalemde PHP5 ile beraberinde gelen yeni Object Oriented Programlama tekniklerinden olmazsa olmazı kalıtımı inceleyeceğiz. Aynı zaman da public, private, static, final ve protected anahtar kelimelerinin ne anlamlara geldiğinin de biraz üstünde duracağım.

Yapacağım örnek için günlük hayttan Kişi ve Öğrenci sınıfı ile Is-A-Relationship ilişkisi kuracağız.

Sınıflarımızı tanıyalım

İlk olarak tanımlayacağımız Kisi sınıfı için fazla değişken atamadan sadece isim değişkeni ile yetiniyoruz.
Fakat Kisi sınıfından kalıtılacak Ogrenci sınıfı için OgrNo ve Bolum değişkenlerini tanımlıyoruz.
 

Methodlarımız

Diğer dillerden el alışkanlığımız olsa da ne yazıkki PHP de parametre almayan yapılandırıcı method kullanamıyoruz.
Her iki sınıfımız için de birer getter ve setter methodlar tanımlıyoruz.
 

Nesneleri yaratıyoruz

Kisi1 ve Kisi2 adında Kisi sınıfından ve bir adet de Ogrenci1 adında Kisi sınıfından kalıtılmak üzere Ogrenci sınıfından nesneler yaratıyoruz.
Ardından Kisi1 ve Kisi2 nesnelerine setter methodlar ile değer verdikten sonra Ogrenci1 nesnemizi Kisi1 den türeterek kendine has bilgilerini girip getter methodlar ile ekrana yansıtıyoruz.

isim;
                }
                public function setIsim($pIsim)
                {
                    $this->isim = $pIsim;
                }
            }
            
            class Ogrenci extends Kisi
            {
                private $OgrNo="";
                private $Bolum="";
                
                public function getOgrNo()
                {
                    return $this->OgrNo;
                }
                
                public function setOgrNo($pOgrNo)
                {
                    $this->OgrNo=$pOgrNo;
                }
                
                public function getBolum()
                {
                    return $this->Bolum;
                }
                
                public function setBolum($pBolum)
                {
                    $this->Bolum=$pBolum;
                }
            }
            

            $Kisi1 = new Kisi();
            $Kisi2 = new Kisi();
            $Ogrenci1 = new Ogrenci();
            
            $Kisi1->setIsim("Haydar Burak Tungut");
            $Kisi2->setIsim("Burak Uysal");
            
            $Ogrenci1->setIsim($Kisi1->getIsim());
            $Ogrenci1->setBolum("Bilgisayar Mühendisliği");
            $Ogrenci1->setOgrNo("1111009955");
            
            echo "1.Kişinin Adı : ",$Kisi1->getIsim(),"
2.Kişinin Adı : ",$Kisi2->getIsim();
            echo "

Türetilen Öğrencinin Adı : ",$Ogrenci1->getIsim(),"
Öğrenci Numarası : ",$Ogrenci1->getOgrNo(),"
Bölümü : ",$Ogrenci1->getBolum();
        ?>
Yorum Bırak

Facebook
Son Yorumlar