C1019i1_Trần Văn Hải

Hôm nay mình học về interface và abstract class, hai thứ rất cần thiết và được sử dụng phổ biến trong việc phân tích và thiết kế hệ thống hướng đối tượng.

Interface có thể hiểu như một bản vẽ đối tượng chỉ có phần khai báo, và luôn để là public, là một giải pháp để đảm bảo 1 đối tượng cụ thể nào đó có các phương thức cụ thể và nhiều class khác nhau về bản chất có thể dùng chung phương thức khi cùng thực thi 1 interface. Các interface cũng có thể kế thừa nhiều interface khác. Với ngôn ngữ PHP không hỗ trợ đa thừa kế thì việc dùng interface có thể giải quyết bài toán ấy. Các phương thức được khai báo ở interface phải đưuọc triển khai ở các lớp thực thi interface ấy, nếu không sẽ xảy ra lỗi. Hằng giá trị có thể được sử dụng trong interface nhưng KHÔNG THỂ bị ghi đè, nếu có trường hợp đó xảy ra, đoạn code sẽ bị lỗi.

Abstract class là một lớp trừu tượng, một lớp tổng quát nhất có các phương thức và thuộc tính chung nhất của các nhóm class tương tự nhau về bản chất, thứ giúp chúng ta thiết kế và tạo ra các class cụ thể khác. Vì thế mà abstract class không thể dùng để tạo ra đối tượng. Abstract class có ít nhất một phương thức trừu tượng, nó sẽ chỉ khai báo tên và tham số mà không có nội dung thực thi, nội dung thực thi sẽ được triển khai ở các class kế thừa nó với mức visibility cùng hoặc cao hơn cha. Điều đặc biệt, abstract class sẽ không có mức visibility private.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook