Giao diện (Interface)

Một phần của tài liệu chương 5 lớp trừu tượng, gói, giao diện (Trang 33 - 42)

4. Giao diện (Interface)

 Giao diện là một giải pháp của Java nhằm Giao diện là một giải pháp của Java nhằm thay thế cho đa kế thừa.

thay thế cho đa kế thừa.

 Một giao diện là một tập các hằng, các Một giao diện là một tập các hằng, các mẫu phương thức (prototype) mà không mẫu phương thức (prototype) mà không

có cài đặt chi tiết. có cài đặt chi tiết.

 Khai báo giao diện:Khai báo giao diện:

interface <tên giao diện>

interface <tên giao diện>

{

4. Giao diện (Interface)

4. Giao diện (Interface)

 Ví dụ: Giao diện tính toán trên các Ví dụ: Giao diện tính toán trên các hình. hình. hình. interface TinhToanHinh interface TinhToanHinh { { double PI = 3.1415; double PI = 3.1415; double dientich(); double dientich(); double chuvi(); double chuvi(); } }

4. Giao diện (Interface)

4. Giao diện (Interface)

 Có thể coi giao diện như một lớp trừu Có thể coi giao diện như một lớp trừu

tượng đặc biệt: các phương thức đều trừu tượng đặc biệt: các phương thức đều trừu

tượng. tượng.

 Khai báo lớp cài đặt giao diện: phải tường Khai báo lớp cài đặt giao diện: phải tường minh các phương thức của giao diện.

minh các phương thức của giao diện.

 Cú pháp:Cú pháp:

class

class <tên lớp> <tên lớp> implementsimplements <các giao diện> <các giao diện>

{

4. Giao diện (Interface)

4. Giao diện (Interface)

 Ví dụ: lớp hình chữ nhật cài đặt giao diện Ví dụ: lớp hình chữ nhật cài đặt giao diện TinhToanHinh

TinhToanHinh

class HinhChuNhat implements TinhToanHinh

class HinhChuNhat implements TinhToanHinh{{

private double dai, rong;

private double dai, rong;

public HinhChuNhat(double d, double r)

public HinhChuNhat(double d, double r)

{dai = d; rong = r;}

{dai = d; rong = r;}

public double chuvi(){ return dai+rong;}

public double chuvi(){ return dai+rong;}

public double dientich(){return dai*rong;}

public double dientich(){return dai*rong;}

}

4. Giao diện (Interface)

4. Giao diện (Interface)

 Lớp hình tròn cài đặt giao diện TinhToanHinhLớp hình tròn cài đặt giao diện TinhToanHinh

class HinhTron implements TinhToanHinh

class HinhTron implements TinhToanHinh

{

{

private double bankinh;

private double bankinh;

public HinhTron(double d) { bankinh = d;}

public HinhTron(double d) { bankinh = d;}

public double chuvi() { return

public double chuvi() { return

2*bankinh*PI;}

2*bankinh*PI;}

public double dientich()

4. Giao diện (Interface)

4. Giao diện (Interface)

 Lưu ý: một lớp cài đặt một giao diện thì Lưu ý: một lớp cài đặt một giao diện thì phải cài đặt tất cả các phương thức mà phải cài đặt tất cả các phương thức mà

giao diện khai báo (có thể là cài đặt rỗng). giao diện khai báo (có thể là cài đặt rỗng).

 Một giao diện có thể mở rộng (kế thừa) từ Một giao diện có thể mở rộng (kế thừa) từ một giao diện khác. Khi đó giao diện mới một giao diện khác. Khi đó giao diện mới

sẽ có đầy đủ các thành phần được khai sẽ có đầy đủ các thành phần được khai

báo trong giao diện cơ sở. báo trong giao diện cơ sở.

4. Giao diện (Interface)

4. Giao diện (Interface)

 Ví dụ: giao diện GiaoDienHinh mở rộng từ Ví dụ: giao diện GiaoDienHinh mở rộng từ giao diện TinhToanHinh

giao diện TinhToanHinh

interface GiaoDienHinh extends TinhToanHinh

interface GiaoDienHinh extends TinhToanHinh

{

{

//khai báo các thành phần bổ sung

//khai báo các thành phần bổ sung

void ve();

void ve();

void xoa();

void xoa();

void dichuyen(int x, int y);

4. Giao diện (Interface)

4. Giao diện (Interface)

 Phạm vi của các thành phần trong giao Phạm vi của các thành phần trong giao diện:

diện:

• Thành phần là hằng thì có phạm vi là Thành phần là hằng thì có phạm vi là public public static final

static final. .

• Thành phần là phương thức có phạm vi Thành phần là phương thức có phạm vi publicpublic..

 Sử dụng giao diện như tham chiếu: tương Sử dụng giao diện như tham chiếu: tương tự như lớp cơ sở trừu tượng, có thể dùng tự như lớp cơ sở trừu tượng, có thể dùng

giao diện để tạo ra tham chiếu đến đối giao diện để tạo ra tham chiếu đến đối

tượng cài đặt giao diện. tượng cài đặt giao diện.

 Ví dụ: Ví dụ:

TinhToanHinh x = new HinhTron(3.0);

4. Giao diện (Interface)

4. Giao diện (Interface)

Ví dụ: Ví dụ:

class GiaoDien1

class GiaoDien1

{

{

public static void main(String args[])

public static void main(String args[])

{{ { TinhToanHinh h; TinhToanHinh h; h = new HinhChuNhat(1,2); h = new HinhChuNhat(1,2); System.out.println("Chu vi HCN = " + h.chuvi()); System.out.println("Chu vi HCN = " + h.chuvi()); System.out.println("Dien tich HCN = " + System.out.println("Dien tich HCN = " + h.dientich()); h.dientich()); h = new HinhTron(1); h = new HinhTron(1);

System.out.println("Chu vi hinh tron = " +

System.out.println("Chu vi hinh tron = " +

h.chuvi());

Một phần của tài liệu chương 5 lớp trừu tượng, gói, giao diện (Trang 33 - 42)

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

(45 trang)