Interface trong lập trình hướng đối tượng (OOP)

Tính chất tiếp theo trong lập trình OOP chúng ta sẽ cùng tìm hiểu trong bài này đó là (giao diện) Interface. Một trong những tính chất khiến người mới học hay nhầm lẫn với Abstract Class và được sử dụng khá nhiều trong OOP.

Interface là gì?

Interface là một lớp rỗng chỉ chứa khai báo về tên phương thức không có khai báo về thuộc tính hay thứ gì khác và các phương thức này cũng là rỗng. Bởi vậy bất kỳ lớp nào sử dụng lớp interface đều phải định nghĩa các phương thức đã khai báo ở lớp interface, nếu cố tình không khai báo thì PHP sẽ báo lỗi, để sử dụng lớp interface bạn chỉ việc khai báo với từ khóa implements và một lớp có thể sử dụng nhiều interface cũng như vừa có thể kế thừa từ lớp khác và đồng thời sử dụng interface.

<subclass> extends <superclass> implements <interface1>,<interface2>

– Cấu trúc định nghĩa :

interface <InterfaceName> {
<dataType1> <var1>;
<dataType2> <var2>;
<ReturnType1> <methodName1> ();
<ReturnType2> <methodName2> (<parameters>);
}

Interface trong lập trình hướng đối tượng

– Thể hiện tính bao đóng trong lập trình hướng đối tượng

– Hỗ trợ đa kế thừa : Một lớp có thể thừa kế một lớp và hiện thực nhiều giao diện

– Lớp hiện thực giao diện phải hiện thực tất cả các hàm được đặc tả trong giao diện đó.

– Hàm khai báo có đặc tả ẩn là public và abstract

– Biến khai báo có đặc tả ẩn là public, static và final

Ví dụ : Interface trong lập trình hướng đối tượng

Interface trong lập trình hướng đối tượng
Interface trong lập trình hướng đối tượng

 

Lời kết : Interface trong lập trình hướng đối tượng không quá khó nếu như bạn nắm được ý nghĩa cốt lõi của nó, khác với abstract class có thể có phương thức không phải abstract thì ở Interface 100% các phương thức đều là trừu tượng (abstract) và mục đích của bạn là bắt các lớp kế thừa hay hiện thực nó phải định nghĩa lại hoàn toàn các phương thức abstract đó.

Chúc bạn thành công!

 

Interface trong lập trình hướng đối tượng (OOP)
5 (100%) 1 vote

Bình luận

Bình luận

Share this post