Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
SLyFeLLowTR 1
SLyFeLLowTR
DEVLOPER 1
DEVLOPER
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
Hikaye Ekle

PHP OOP kalıtım nedir?

  • Konuyu başlatan Konuyu başlatan ITJA
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 347

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

OOP ile yazılım geliştirmenin önemli bir özelliği olan metot ve özellikleri tekrar kullanmaya imkan veren kalıtım ile ilgili bilgiler yer almaktadır.

PHP OOP kalıtım nedir?

Kalıtım nesneye ait public veya protected özellik ve metotların başka bir nesne tarafından devralınmasıdır.

Kalıtım özelliğiyle bir sınıf başka bir sınıfın özellik ve metotlarını kalıtım yoluyla devralarak kullanabilir veya üzerine ekleme yaparak genişletebilir.

Bu özellikle birlikte geliştirilen yazılımın genişletilebilir olması sağlanır.

Örnekte Ogrenci sınıfı yer almaktadır.
PHP:
<?php

class Ogrenci {

  protected static $ogrenciSayisi = 0;
  protected $ogrenciID = 0;
  protected $ogrenciAdi = "";
  protected $ogrenciSoyadi = "";

  public function __construct($oAdi, $oSoyadi) {
    $this->ogrenciID = self::$ogrenciSayisi + 1;
    $this->ogrenciAdi = $oAdi;
    $this->ogrenciSoyadi = $oSoyadi;
    self::$ogrenciSayisi++;
  }

  public function ogrenciBilgileri() {
    return $this->ogrenciID . " - " . $this->ogrenciAdi . " " . $this->ogrenciSoyadi . "<br />";
  }

  public static function ogrenciSayisi() {
    return self::$ogrenciSayisi;
  }

}

?>

Universite öğrencisi de bir öğrenci olduğundan Ogrenci sınıfındaki özellik ve metotları devralarak genişletebiliriz.

Örnekte UniversiteOgrencisi sınıfı yer almaktadır.

PHP:
<?php

class UniversiteOgrencisi extends Ogrenci {

  protected $ogrenciBolum = "";

}

?>

Üniversitelerde farklı bölümünde öğrenim gören öğrenciler hem bölümünün öğrencisi hem de Üniversite öğrencisidir.

Not: Türeyen sınıf temel sınıfın özellik veya metotlarına parent anahtar kelimesi ile erişir.

Örnekte BilgisayarMuh sınıfı yer almaktadır.

PHP:
<?php

class BilgisayarMuh extends UniversiteOgrencisi {

  public function __construct($oAdi, $oSoyadi) {
    parent::__construct($oAdi, $oSoyadi);
    $this->ogrenciBolum = "Bilgisayar Mühendisliği";
  }

}

?>

Örnekte MakineMuh sınıfı yer almaktadır.
PHP:
<?php

class MakineMuh extends UniversiteOgrencisi {

  public function __construct($oAdi, $oSoyadi) {
    parent::__construct($oAdi, $oSoyadi);
    $this->ogrenciBolum = "Makine Mühendisliği";
  }

}

?>

Örneklerdeki gibi bir sınıf kalıtım ile genişletilebilir.

PHP:
<?php

$ben = new BilgisayarMuh("Yusuf Sefa", "SEZER");
echo $ben->ogrenciBilgileri();
$sinan = new MakineMuh("Sinan", "SEZER");
echo $sinan->ogrenciBilgileri();

echo "Toplam öğrenci sayısı : " . Ogrenci::ogrenciSayisi();

?>

Kalıtım özelliğini kullanırken temel sınıftaki özellik ve metotların iyi bir şekilde oluşturulması/tasarlanması gerekir.

Temel sınıf olabildiğince ortak özellik ve metotları içermelidir.

Bir armut veya muz sınıfı oluşturmak istendiğinde özellik ve metotları iyi oluşturulmuş/tasarlanmış meyve sınıfı kalıtım özelliği için faydalı olacaktır.
 

En Çok Reaksiyon Alan Mesajlar

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst