Tính Kế Thừa - OOP PHP

Tính kế thừa trong lập trình hướng đối tượng cho phép một lớp (class) có thể kế thừa các thuộc tính và phương thức từ các lớp khác đã được định nghĩa. Lớp được kế thừa còn được gọi là lớp cha và lớp kế thừa được gọi là lớp con.

Trong PHP việc kế thừa được thực hiện thông qua sử dụng từ khóa extends. Ở ví dụ dưới đây lớp Computer được gọi là lớp cha và lớp Desktop được gọi là lớp con.

class Computer {
    public $hasScreen = true;
    public $hasKeyboard = true;

    public function start() {
        echo "Starting";
    }
}

class Desktop extends Computer {
    public $hasCase = true;
}

$myDesktop = new Desktop;
var_dump($myDesktop->hasScreen);
var_dump($myDesktop->hasKeyboard);
var_dump($myDesktop->hasCase);

$myDesktop->start();

 

Ở ví dụ trên chúng ta có lớp Destop được định nghĩa để kế thừa lớp Computer do đó các thuộc tính và phương thức có trong lớp Computer cũng sẽ có trong lớp Destop.

Bạn có thể thực hiện việc kế thừa nhiều lần như sau:

class Computer {
    public $hasScreen = true;
    public $hasKeyboard = true;

    public function start() {
        echo "Starting";
    }
}

class Laptop extends Computer {
    public $hasPin = true;
}

class Macbook extends Laptop {
    public $brandName = 'Apple';
}

$myMacbook = new Macbook;

var_dump($myMacbook->hasPin);
echo $myMacbook->brandName;