SLyFeLLowTR 1
SLyFeLLowTR
DEVLOPER 1
DEVLOPER
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
darkbey42 1
darkbey42
xranzei 1
xranzei
Bvural41 1
Bvural41
PrimeAC 1
PrimeAC
Payidar2 1
Payidar2
Fethi Polat 1
Fethi Polat
Wizard' 1
Wizard'
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