Thừa kế trong php là gì?

Kế thừa là một trong những tính năng lập trình hướng đối tượng được sử dụng phổ biến. Nó cho phép có các thuộc tính và chức năng được chia sẻ giữa các lớp liên quan. Tính năng này cho phép chúng tôi liên kết các lớp, dữ liệu và phương thức trừu tượng và tăng khả năng sử dụng lại

Một trong những thay đổi đáng chú ý khi di chuyển từ PHP phiên bản 4 sang PHP phiên bản 5 là giới thiệu tính năng Lập trình hướng đối tượng như chúng ta đã thấy trong Sự phát triển của PHP. Trong số các tính năng OOPS hạn chế được PHP hỗ trợ, tính kế thừa là một khái niệm hấp dẫn bằng cách cung cấp các chức năng được liệt kê ở trên

Trước khi tìm hiểu về kế thừa PHP, chúng ta hãy làm mới ý tưởng về kế thừa và các loại của nó nói chung. Theo nguyên tắc này, một lớp có thể được dẫn xuất từ ​​một lớp khác, trong khi lớp dẫn xuất được gọi là lớp con hoặc lớp con và lớp kia được gọi là lớp cha hoặc lớp cha

Lớp cha có các thuộc tính và chức năng riêng có thể được dẫn xuất từ ​​lớp con và thêm vào đó, lớp con có thể có các thuộc tính riêng của nó

Giờ đây, ưu điểm của tính kế thừa là không cần phải xác định lại các thuộc tính cần thiết của siêu lớp một lần nữa trong lớp con vì chúng có thể được kế thừa. Đó là những gì chúng tôi đã nói rằng tính kế thừa làm tăng khả năng sử dụng lại và giảm các dòng mã và do đó nó làm tăng tính đơn giản giữa các lớp có liên quan với nhau

Các loại kế thừa PHP

Nói chung, kế thừa có ba loại, kế thừa đơn, đa cấp và đa cấp. Tuy nhiên, PHP hỗ trợ kế thừa đơn và kế thừa đa cấp. Điều đó có nghĩa là lớp con sẽ được bắt nguồn từ lớp cha. Mặc dù PHP không hỗ trợ nhiều kế thừa, nhưng chúng ta có thể mô phỏng nó bằng cách sử dụng các giao diện PHP

Trong PHP, việc kế thừa có thể được thực hiện bằng cách sử dụng từ khóa extends, nghĩa là chúng ta đang mở rộng lớp dẫn xuất với một số thuộc tính và phương thức bổ sung của lớp cha của nó. Cú pháp kế thừa một lớp như sau

Child_class_name extends Parent_class_name {
...
}

Ghi chú. Chúng ta có thể kế thừa các thuộc tính và hàm của lớp cha khi và chỉ khi chúng có công cụ sửa đổi truy cập công khai hoặc được bảo vệ

Kế thừa đơn PHP

Để triển khai khái niệm kế thừa duy nhất trong PHP, chúng tôi yêu cầu hai lớp, một lớp là cha và lớp kia là lớp con. Chúng ta hãy có hai lớp như vậy có tên là Đồ chơi và Đồ chơi mềm, tương ứng như hình bên dưới

đồ chơi đẳng cấp

 "Mechanical Cars",
            "category" => "pull back"
        ),
        array(
            "name" => "Jigsaw",
            "category" => "puzzles"
        ),
        array(
            "name" => "HiTech Cars",
            "category" => "remote"
        ),
        array(
            "name" => "Teddy Bears",
            "category" => "soft"
        ),
        array(
            "name" => "Baby pillow",
            "category" => "soft"
        ),
        array(
            "name" => "Chinese Checker",
            "category" => "puzzles"
        ),
        array(
            "name" => "Jumbo Helicopter",
            "category" => "remote"
        )
    );

    function getToys()
    {
        for ($i = 0; $i < count($this->toys); $i ++) {
            $toys_list[] = $this->toys[$i]["name"];
        }
        return $toys_list;
    }

    function getToysByCategory($category)
    {
        for ($i = 0; $i < count($this->toys); $i ++) {
            if ($this->toys[$i]["category"] == $category)
                $toys_list[] = $this->toys[$i]["name"];
        }
        return $toys_list;
    }
}
?>

Lớp này bao gồm các thuộc tính như danh sách các danh mục trong một mảng và cũng có toàn bộ thông tin đồ chơi trong một mảng kết hợp. Sau đó, getToys() được sử dụng để lấy tất cả đồ chơi, trong khi đó, getToysByCategory() trả về danh sách đồ chơi theo danh mục của nó được truyền dưới dạng đối số

Lớp Đồ Chơi Mềm

getToysByCategory($this->category);
    }
}
?>

Lớp này bắt nguồn từ lớp Đồ chơi và ghi đè phương thức getToys() của nó để chỉ trả về danh sách đồ chơi mềm

Sau khi định nghĩa hai lớp, bây giờ là lúc truy cập các thuộc tính và chức năng của chúng thông qua thể hiện của các lớp này, để xem tác dụng của tính kế thừa. Đối với điều đó, các thể hiện của lớp được tạo như sau, bên ngoài định nghĩa lớp


Và các thuộc tính và chức năng được truy cập bằng cách sử dụng đoạn mã sau

";
print_r($objToys->categories);
print_r($objSoftToys->categories);
print_r($objToys->getToys());
print_r($objSoftToys->getToys());
print "
"; ?>

Vì lớp SoftToys có nguồn gốc từ lớp Đồ chơi, nên việc truy cập thuộc tính danh mục bằng cách sử dụng một trong hai thể hiện của lớp sẽ in cùng một mảng kết quả như,

Array
(
    [0] => puzzles
    [1] => pull back
    [2] => remote
    [3] => soft
)

Tuy nhiên, hàm getToys() được ghi đè trong lớp con. Vì vậy, truy cập phương thức này bằng cách sử dụng thể hiện của lớp Đồ chơi hoặc SoftToys sẽ in một bộ danh sách đồ chơi khác cho trình duyệt như hình bên dưới

Kế thừa trong PHP và các loại là gì?

Kế thừa có ba loại, Kế thừa đơn, nhiều cấp và đa cấp . PHP chỉ hỗ trợ kế thừa đơn, trong đó chỉ có một lớp có thể được dẫn xuất từ ​​lớp cha đơn. Chúng ta có thể mô phỏng đa kế thừa bằng cách sử dụng các giao diện.

thừa kế giải thích là gì?

Thừa kế là quá trình thông tin di truyền được truyền từ cha mẹ sang con cái . Đây là lý do tại sao các thành viên trong cùng một gia đình có xu hướng có những đặc điểm giống nhau.

Kế thừa là gì và các loại của nó?

Kế thừa là cơ chế lấy các tính năng và hành vi của một lớp bởi một lớp khác . Lớp có các thành viên được kế thừa gọi là lớp cơ sở, lớp kế thừa các thành viên đó gọi là lớp dẫn xuất. Kế thừa thực hiện mối quan hệ IS-A.

Tại sao tính kế thừa lại quan trọng trong PHP?

Tính kế thừa cho phép chúng tôi chỉ viết mã một lần trong lớp cha, sau đó sử dụng mã trong cả lớp cha và lớp con . Lớp con có thể sử dụng tất cả các phương thức và thuộc tính không riêng tư mà nó kế thừa từ lớp cha.