Tìm hiểu tính kế thừa trong PHP – Lập trình hướng đối tượng là như thế nào. Như bạn đã ở biết ở viết trước mình đã chia sẻ các bạn biết thế nào là lớp, phương thức , thuộc tính trong PHP OOP nếu bạn chưa nắm vững hãy quay lại bài viết trước của mình để củng cố kiến thức đã nhé, bạn có thể xem bài viết tại đây. Trong bài này mình sẽ hướng dẫn các bạn một tính chất rất hay của lập trình hướng đối tượng đó là tính kế thừa. Vậy kế thừa là như thế nào thì bạn hãy tham khảo nội dung dưới đây.
Kế thừa là gì ?
Có thể khái niệm hơi khó hiểu bạn có thể xem qua hình ảnh sau để hiểu rõ hơn về kế thừa.
Qua hình ảnh thì bạn thấy các con vật khác nhau đều có chung các thuộc tính và hành động của động vật, trong lập trình cũng vậy những đối tượng có chung một mục đích chúng ta sẽ tạo một lớp chứa các thuộc tính và phương thức của chúng. Với các lớp khác chỉ cần kế thừa và khai báo các thuộc tính và phương thức khác của từng lớp riêng biệt.
Kế thừa trong PHP
– Để kế thừa được trong PHP bạn dùng từ khóa extends
với cú pháp như sau
class ChildClass extends ParentClass { }
– Bạn chú ý lớp con kế thừa từ lớp cha sẽ có đầy đủ các thuộc tính và phương thức của lớp cha vì thế bạn không cần viết lại chỉ cần gọi tới là sử dụng được
Gọi phương thức và thuộc tính của lớp cha
– Cách gọi phương thức và thuộc tính tương tự như bài viết gọi phương thức thuộc tính trong bài viết trước của mình (xem tại đây).
– Nếu lớp con cũng có thuộc tính và phương thức trùng tên với lớp cha thì để gọi phương thức và thuộc tính của lớp cha bạn phải dùng cú pháp:
+ parent::methodName()
– khi gọi phương thức lớp cha.
+ parent::propertyName
– khi gọi thuộc tính lớp cha.
Ví dụ tổng quát về kế thừa
Lý thuyết thì mình nghĩ bạn chắc cũng chưa hiểu lắm để rõ hơn bạn hãy đọc ví dụ sau để hiểu rõ hơn
// khai báo lớp cha DongVat class DongVat { // khai báo thuộc tính lớp cha var $mat, $chan; // khai báo phương thức lớp cha function an($thucan) { return "Động vật ăn ".$thucan; } } // khai báo lớp con ConTrau kế thừa lớp cha DongVat class ConTrau extends DongVat { // khai báo thuộc tính lớp ConTrau var $sung; // khai báo phương thức lớp ConTrau function an() { // gọi thuộc tính mắt của lớp cha DongVat $this->mat = '2 con mắt'; // gọi phương thức lớp cha và gắn vào biến lưu trữ $ta = parent::an('cỏ'); return $ta; } } // khởi tạo lớp ConTrau $call = new ConTrau(); // kết quả in ra 'Dong vat ăn cỏ' echo $call->an();
Vậy đó kế thừa trong php chỉ đơn giản vậy thôi, để áp dụng và hiểu tường tận hơn bạn lên làm dự án cụ thể bời vào dự án php nâng cao bạn mới gặp phải nhiều vấn đề chính vấn đề sẽ giúp bạn nâng cao kiến thức và trình độ hơn