Giới thiệu về thừa kế trong PHP
Kế thừa & nbsp; là cách mở rộng chức năng lớp hiện có trong lớp mới được tạo. Chúng tôi cũng có thể thêm một số chức năng bổ sung cho lớp mới được tạo ngoài việc mở rộng các chức năng lớp cơ sở. Khi chúng ta thừa hưởng một lớp, chúng ta nói một lớp kế thừa là một lớp con (lớp phụ) và từ đó chúng ta thừa hưởng được gọi là lớp cha. Lớp cha còn được gọi là lớp cơ sở. Đây là cách cho phép quản lý tốt hơn mã lập trình và khả năng tái sử dụng mã. Ý tưởng đằng sau việc sử dụng kế thừa là tất cả về quản lý tốt hơn của mã và khả năng tái sử dụng mã. Trong chủ đề này, chúng ta sẽ tìm hiểu về & nbsp; kế thừa trong PHP.
Các loại kế thừa trong PHP
PHP hỗ trợ các loại kế thừa khác nhau như Java. Bảng dưới đây hiển thị danh sách các loại kế thừa và trạng thái hỗ trợ trong PHP.
Loại kế thừa | Hỗ trợ trong PHP |
Thừa kế duy nhất | VÂNG |
Thừa kế đa cấp | VÂNG |
Thừa kế đa cấp | VÂNG |
Thừa kế đa cấp | Di truyền phân cấp |
Nhiều kế thừa
KHÔNG
Code:
<?php class MyAccess { var $var = "This is first var"; protected $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child extends MyAccess { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo $this->fist_name; } } $obj1 = new child(); $obj1->setVal("Jai Shre"); $obj1->getVal(); ?>1. Kế thừa duy nhất
Output:
PHP hỗ trợ thừa kế đơn. Di truyền đơn là một khái niệm trong PHP trong đó một lớp chỉ có thể được kế thừa bởi một lớp duy nhất. Chúng ta cần phải có hai lớp ở giữa quá trình này. Một là lớp cơ sở (lớp cha) và chính một lớp con. Hãy để hiểu giống nhau với một ví dụ. Nó được gọi phổ biến là kế thừa đơn giản. & NBSP; Loại kế thừa này trong ngôn ngữ PHP vẫn giống như Java, C ++, v.v.
MyAccess là cha mẹ, và đứa trẻ là tên của lớp con.
Code:
<?php class ParentClass { var $var = "This is first var"; public $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child_1 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo "Extended By Parent Class -". $this->fist_name; } } class child_2 extends child_1 { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo "Extended By child 1 - ".$this->fist_name; } } $obj1 = new child_1(); $obj1->setVal("This is first inherited class"); $obj1->getVal(); echo "<br/><br/>"; $obj2 = new child_2(); $obj2->setVal("This is second inherited class"); $obj2->getVal(); ?>Output:
2. Di truyền đa cấp
PHP hỗ trợ kế thừa đa cấp. Trong loại kế thừa này, chúng ta sẽ có hơn 2 lớp. Trong loại kế thừa này, một lớp cha mẹ sẽ được di truyền bởi một lớp con sau đó lớp con đó sẽ được kế thừa bởi lớp con. Loại kế thừa này trong ngôn ngữ PHP vẫn giống như C ++, v.v.
Code:
<?php class ParentClass { var $var = "This is first var"; public $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child_1 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo $this->fist_name; } } class child_2 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this." - ".$set_this;; } function getVal(){ echo $this->fist_name; } } $obj1 = new child_1(); $obj1->setVal("This is first child class"); $obj1->getVal(); echo "<br/><br/>"; $obj2 = new child_2(); $obj2->setVal("This is second child class"); $obj2->getVal(); ?>Output:
3. Kế thừa phân cấp
PHP hỗ trợ kế thừa phân cấp. Di truyền phân cấp là loại kế thừa trong đó một chương trình bao gồm một phụ huynh đơn lẻ và nhiều hơn một lớp con. Hãy để hiểu giống nhau với ví dụ này. Loại kế thừa này trong ngôn ngữ PHP vẫn giống như Java, C ++, v.v.
Chúng tôi có một lớp cha có tên ParentClass và hai lớp con, Child_1 và Child_2, tương ứng. & NBSP; Kịch bản đã cho của thừa kế được gọi là thừa kế phân cấp.
- Tầm quan trọng của việc thừa kế trong PHP
- Tầm quan trọng của việc thừa kế là nhiều hơn nữa khi nó đưa ra những lợi thế rất lớn với nó.
- Khả năng tái sử dụng mã là một trong những điều được sử dụng thường xuyên nhất trong kế thừa; lớp cơ sở & nbsp; vẫn còn như ở giữa quá trình. Như chúng ta có thể thấy trong ví dụ trên của tất cả các kế thừa, mã đang được sử dụng lại từ lớp này sang lớp khác. Chúng ta không cần phải viết lại điều tương tự nhiều lần.
- Một lớp cơ sở có thể được sử dụng bởi một số lớp dẫn xuất của nó trong hệ thống phân cấp lớp. Vâng, đây là một loại kế thừa trong đó chúng ta có thể mở rộng trong lớp cha với nhiều kế thừa.
- Khả năng mở rộng là một trong những lợi thế của kế thừa trong đó chúng ta có thể mở rộng tính năng lớp cơ sở mà không thực hiện ít hoặc không có thay đổi để đáp ứng các yêu cầu kinh doanh. Giả sử ban đầu, chúng ta chỉ đi với một lớp phụ huynh không có lớp con. Nhưng trong trường hợp cần thiết, chúng ta có thể thêm lớp trẻ em để đáp ứng nhu cầu kinh doanh của chúng ta sau này.
- Ghi đè là một lợi thế khác của tính năng kế thừa này, trong đó chúng ta có thể viết lại định nghĩa của hàm lớp cơ sở vào lớp dẫn xuất để thực hiện các thay đổi theo yêu cầu của doanh nghiệp.
- Ít hơn số lượng mã - trong khi đó, chúng ta sẽ có ít mã hơn trong khi tiến lên phía trước với sự kế thừa so với cách mã hóa truyền thống.
Kế thừa cũng cho phép các tính năng ẩn dữ liệu. Chúng ta có thể phơi bày phần duy nhất được yêu cầu của lớp cha cho lớp con bằng cách sử dụng các sửa đổi truy cập PHP khác nhau.
Hỗ trợ đầy đủ MVC - Chúng tôi có thể tham gia MVC bằng cách sử dụng khái niệm thừa kế.
Sự kết luận
Chúng ta nên sử dụng kế thừa để thực hiện doanh nghiệp của mình khi nó đưa ra một số lợi thế bổ sung so với mã thông thường. Chúng ta nên chăm sóc bảo mật dữ liệu trong khi xử lý kế thừa. Chúng ta có thể sử dụng trình sửa đổi truy cập như Private, được bảo vệ để đối phó với việc ẩn dữ liệu và bảo mật dữ liệu. PHP không hỗ trợ nhiều kế thừa.
- Quá tải trong PHP
- Di truyền duy nhất trong Python
- Di sản đa cấp trong Java
- Nhiều kế thừa trong C ++