Các giao diện

Một phần của tài liệu Bài giảng lập trình java phần 1 đh sư phạm kỹ thuật nam định (Trang 103 - 106)

Giao diện là một trong những khái niệm quan trọng nhất của ngôn ngữ Java. Nó cho phép một lớp có nhiều lớp cha (superclass). Các chương trình Java có thể thừa kế chỉ một lớp tại một thời điểm, nhưng có thể hiện thực hàng loạt giao diện. Giao diện được sử dụng để thay thế một lớp trừu tượng, không có một sự kế thừa mã thực thi nào. Giao diện tương tự như các lớp trừu tượng. Sự khác nhau ở chỗ một lớp trừu tượng có thể có những hành vi cụ thể, nhưng một giao diện thì không thể có một phương thức cụ thể nào có hành vi của riêng mình. Các giao diện cần được hiện thực. Một lớp trừu tượng có thể được thừa kế, nhưng không thể tạo ra được thể hiện (đối tượng).

Có thể hiểu một cách đơn giản một giao diện là một lớp chứa một tập các phương thức trừu tượng (các phương thức chưa được đinh đĩa). Các phương thức này được kế thừa và cài đặt ở lớp cài đặt giao diện này.

Tạo một giao diện tương tự như tạo một lớp nhưng nó có điểm khác với lớp là một lớp mô tả các thuộc tính và phương thức của đối tượng, còn một giao diện thì có chứa các phương thức mà một lớp cài đặt.

Vềcơ bản một giao diện khác với một lớp thông như sau: - Không có các cài đặt khởi tạo trong một giao diện

93

- Một giao diện không chứa đựng bất kỳ constructor nào - Tất cảcác phương thức trong một giao diện là trừu tượng

- Một giao diện chỉ chứa các thuộc tính được khai báo là cả static và final

- Một giao diện không thể được kế thừa từ một lớp; mà nó được cài đặt từ một lớp

- Một giao diện có thểđược kế thừa từ các giao diện khác

Định nghĩa giao diện

Từkhóa interface được sử dụng để khai báo một giao diện. Để tạo một giao diện có thể thực hiện theo cấu trúc sau:

import packages; //chỉđịnh các gói hay lớp sẽđược dùng trong chương trình public interface Interface_Name

{

//Any number of final, static fields

//Any number of abstract method declarations\ }

Trong đó:

- interface là từ khóa tạo giao diện, mặc định một giao diện là một lớp trừu tượng mà không cần sử dụng từ khóa abstract

- Interface_Name là tên của giao diện muốn tạo

- Các phương thức và thuộc tính của giao diện được khai báo trong phần thân của nó nằm giữa cặp ngoặc nhọn “{}”.

- Các phương thức của giao diện mặc định là trừu tượng nên không cần sử dụng từkhóa abstract khi khai báo. Các phương thức phải được khai báo là public.

Ví dụ 3.1: Tạo một giao diện Animal có 2 phương thức eat và travel như sau

Public interface Animal { public void eat(); public void travel(); }

Lưu ý: chương trình trên phải được lưu trữ với tên Animal.java

94

Một lớp sử dụng từ khóa implementsđể cài đặt một giao diện, từ khóa

implementsđược khai báo sau phần khai báo kế thừa nếu lớp đó có cả kế thừa. Ví dụ 3.2: Tạo lớp MammalInt cài đặt giao diện Animal đã tạo trong ví dụ trên

/* File name : MammalInt.java */

public class MammalInt implements Animal{ public void eat(){

System.out.println("Mammal eats"); }

public void travel(){

System.out.println("Mammal travels"); }

public int noOfLegs(){ return 0;

}

public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); } } Kết quả thực hiện chương trình: Mammal eats Mammal travels Giao diện kế thừa

Cũng giống như một lớp được kế thừa từ một lớp khác. Một giao diện cũng có thể được kế thừa từ một hoặc nhiều giao diện khác. Tuy nhiên giao diện chỉ được kế thừa từ giao diện mà không được kế thừa từ một lớp không phải là một giao diện.

Ví dụ 3.3: Tạo ra hai giao diện Sports và Football trong đó giao diện Football lại được kế thừa từ giao diện Sports

//Filename: Sports.java public interface Sports

95

{

public void setHomeTeam(String name); public void setVisitingTeam(String name); }

//Filename: Football.java

public interface Football extends Sports {

public void homeTeamScored(int points); public void visitingTeamScored(int points); public void endOfQuarter(int quarter); }

Trong trường hợp một giao diện kế thừa từ nhiều giao diện thì các giao diện được khai báo cánh nhau bởi dấu phẩy.

Một phần của tài liệu Bài giảng lập trình java phần 1 đh sư phạm kỹ thuật nam định (Trang 103 - 106)

Tải bản đầy đủ (PDF)

(146 trang)