Miras (Inheritance)

PHP'de miras, bir sınıfın başka bir sınıftan özelliklerini ve yöntemlerini alabilmesini sağlayan bir özelliktir. Miras, programlama dilinde nesne yönelimli programlama (OOP) prensiplerinden biridir ve sınıf hiyerarşileri oluşturulmasına olanak tanır.

Bir sınıfın başka bir sınıftan miras alabilmesi için extends anahtar kelimesi kullanılır. Aşağıda basit bir örnek verilmiştir:

class Person {
   public $name;
   public $age;
   public function __construct($name, $age) {
      $this->name = $name;
      $this->age = $age;
   }
   public function introduce() {
      echo "My name is {$this->name} and I am {$this->age} years old.";
   }
}

class Student extends Person {
   public $studentID;
   public function __construct($name, $age, $studentID) {
      parent::__construct($name, $age);
      $this->studentID = $studentID;
   }
   public function studentInfo() {
      echo "My name is {$this->name}, I am {$this->age} years old, and my student ID is {$this->studentID}.";
   }
}

$student = new Student("John Doe", 20, "1234");
$student->introduce();
echo "<br>";
$student->studentInfo();

Bu örnekte, Person sınıfı tanımlanmış ve Student sınıfı, Person sınıfından miras almıştır. Student sınıfı, name ve age özelliklerine erişebilir ve introduce() yöntemini kullanabilir. Student sınıfı ayrıca kendine özgü bir $studentID özelliğine sahiptir ve studentInfo() yöntemiyle bu özelliği kullanır.

parent::__construct() ifadesi, Student sınıfının yapıcı yöntemiyle Person sınıfının yapıcı yöntemini çağırır ve name ve age özelliklerine erişimi sağlar.

Miras, kodun yeniden kullanılmasını ve sınıflar arasındaki ilişkilerin daha iyi anlaşılmasını sağlar. Ancak, kötü tasarlanmış sınıf hiyerarşileri, kodun okunmasını ve bakımını zorlaştırabilir.

Last updated

Was this helpful?