PHP 8 Php OOP 2026 Güncel

Php 8 Inheritance

5 dk okuma süresi 575 görüntülenme 2024-09-25 4.9 (14 değerlendirme)

PHP 8'de Kalıtım (Inheritance), nesne yönelimli programlamanın temel bir prensibidir ve bir sınıfın (üst sınıf veya ana sınıf) özelliklerini ve metotlarını başka bir sınıfa (alt sınıf veya türetilmiş sınıf) miras verme yeteneğini ifade eder. Kalıtım, kodun yeniden kullanılabilirliğini artırır ve daha organize bir yapı oluşturur.

1. Kalıtımın Temel Kavramları

  • Üst Sınıf (Parent Class): Diğer sınıflara özellik ve metotları sağlayan sınıf.
  • Alt Sınıf (Child Class): Üst sınıftan miras alan ve kendi özelliklerini ve metotlarını ekleyebilen sınıf.
  • Miras Alma: Alt sınıf, üst sınıfın özelliklerini ve metotlarını kullanabilir.

2. Kalıtımın Kullanımı

Kalıtım, extends anahtar kelimesi ile tanımlanır. Aşağıda basit bir örnek bulunmaktadır:

Örnek:

class Animal { public function speak( ) { return "Animal speaks"; } } class Dog extends Animal { public function bark( ) { return "Woof!"; } } $dog = new Dog(); echo $dog->speak(); // "Animal speaks" (Üst sınıftan miras alındı) echo $dog->bark(); // "Woof!" (Alt sınıfa ait metot)

3. Kalıtım ile Özellik ve Metot Kullanımı

Alt sınıf, üst sınıfın özelliklerine ve metotlarına doğrudan erişebilir. Ancak, üst sınıfta tanımlanan protected ve public erişim belirleyicilerine sahip olan özellikler ve metotlar alt sınıftan erişilebilirken, private olanlara erişilemez.

Örnek:

class Person { public $name; protected $age; // Sadece alt sınıflardan erişilebilir private $ssn; // Sadece bu sınıf içinde erişilebilir public function __construct( $name, $age, $ssn ) { $this->name = $name; $this->age = $age; $this->ssn = $ssn; } public function getDetails( ) { return "Name: " . $this->name . ", Age: " . $this->age; } } class Employee extends Person { public function __construct( $name, $age, $ssn, public $position ) { parent::__construct($name, $age, $ssn); // Üst sınıfın yapıcısını çağır } public function getEmployeeDetails( ) { return $this->getDetails() . ", Position: " . $this->position; } } $employee = new Employee("Alice", 30, "123-45-6789", "Manager"); echo $employee->getEmployeeDetails(); // "Name: Alice, Age: 30, Position: Manager" // echo $employee->ssn; // Hata! Private özelliğe erişilemez.

4. Method Overriding (Metot Geçersiz Kılma)

Alt sınıf, üst sınıfta tanımlı bir metodu geçersiz kılabilir (override) ve kendi davranışını tanımlayabilir. Bu, üst sınıfın metotlarını özelleştirmek için kullanılır.

Örnek:

class Shape { public function area( ) { return 0; // Varsayılan alan } } class Rectangle extends Shape { public function __construct( public $width, public $height ) {} public function area( ) { return $this->width * $this->height; // Alan hesaplama } } $rectangle = new Rectangle(5, 10); echo $rectangle->area(); // 50

5. Çoklu Kalıtım

PHP, doğrudan çoklu kalıtımı desteklemez. Yani bir sınıf birden fazla üst sınıftan miras alamaz. Ancak, arayüzler (interfaces) kullanarak benzer bir yapı oluşturabilirsiniz. Bir sınıf birden fazla arayüzü uygulayabilir.

Örnek:

interface CanFly { public function fly( ); } interface CanSwim { public function swim( ); } class Duck implements CanFly, CanSwim { public function fly( ) { return "Duck is flying"; } public function swim( ) { return "Duck is swimming"; } } $duck = new Duck(); echo $duck->fly(); // "Duck is flying" echo $duck->swim(); // "Duck is swimming"

6. Constructor ve Miras

Alt sınıfın yapıcısı, üst sınıfın yapıcısını çağırmak için parent::__construct() ifadesini kullanır. Bu, üst sınıfın özelliklerini başlatmaya olanak tanır.

Örnek:

class Vehicle { public function __construct( public $brand ) {} } class Car extends Vehicle { public function __construct( public $brand, public $model ) { parent::__construct($brand); // Üst sınıfın yapıcısını çağır } } $car = new Car("Toyota", "Corolla"); echo $car->brand; // "Toyota" echo $car->model; // "Corolla"

7. Final Sınıflar ve Metotlar

final anahtar kelimesi, bir sınıfın veya metotların alt sınıflar tarafından geçersiz kılınmasını engellemek için kullanılır.

Örnek:

class Base { final public function show( ) { return "This is a final method."; } } class Derived extends Base { // public function show() { } // Hata! final metot geçersiz kılınamaz. }

Sonuç

PHP 8'de kalıtım, kodun yeniden kullanılabilirliğini artıran ve programın daha düzenli olmasını sağlayan önemli bir özelliktir. Üst sınıflar, alt sınıflara özellik ve metot sağlar, bu da kodu daha etkili bir şekilde yönetmeyi kolaylaştırır. Kalıtımın doğru kullanımı, nesne yönelimli programlamada daha sağlam ve sürdürülebilir yazılımlar geliştirmenize yardımcı olur.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Php 8 Inheritance dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!