Bài 3 – Tính kế thừa trong PHP OOP

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.

Kế thừa trong php

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

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *