1. Trang chủ
  2. » Công Nghệ Thông Tin

chương 5 lớp trừu tượng, gói, giao diện

45 359 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 301 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích & yêu cầu Giới thiệu một thành phần cơ bản: Đối tượng Object, Lớp trừu tượng, gói, giao diện..  Giao diện Interfaces• Những phần của một chương trình Java:  Lệnh khai báo gói

Trang 1

Chương 5 Lớp trừu

tượng, Gói, Giao diện

Trang 2

Mục đích & yêu cầu

 Giới thiệu một thành phần cơ bản: Đối tượng Object, Lớp trừu tượng, gói, giao diện.

 Giải thích được lớp trừu tượng là gì, Gói, giao diện là gì?

 Sử dụng các thành phần này, viết một

chương trình đơn giản.

Trang 4

1 Đối tượng Object

 Đây là đối tượng cấp cao nhất của mọi lớp trong Java Mọi lớp trong Java đều kế thừa từ lớp này.

 Đối tượng Object có một số phương thức:

 Ta có thể dùng tham chiếu của lớp Object để

tham chiếu đến một đối tượng thuộc lớp bất kỳ.

Trang 5

2- Lớp trừu tượng

 Lớp trừu tượng là gì?

• Xem kết qủa của việc khái quát hóa sau:

class ANIMAL void Travel();

class Bird class Fish class Snake

Bạn có hình dung nổi một ANIMAL di chuyển như thế nào không?

Không  Trừu tượng

Trang 6

 Là kết qủa của việc khái quát hóa cao đến nỗi

không biết viết code thế nào.

 Là lớp có những hành vi chỉ khai báo mà không viết code Để dành code cụ thể sẽ được hiện thực

Trang 7

2 - Lớp trừu tượng

abstract <khai báo phương thức>;

duocTN() của lớp SV.

Trang 8

 Khai báo lớp trừu tượng:

abstract class <tên lớp>

{

khai báo các thành phần của lớp

}

Trang 9

 Lưu ý: không thể tạo đối tượng từ lớp trừu tượng

Trang 10

2 - Lớp trừu tượng

 Lớp kế thừa từ lờp trừu tượng phải khai

báo tường minh các PTTT nếu không cũng

là lớp trừu tượng

 Ví dụ: khai báo lớp SVSP kế thừa từ lớp SV

class SVSP extends SV{

… public boolean duocTN(){…}

}

Trang 11

2 - Lớp trừu tượng

kế thừa từ lớp SV, là lớp trừu tượng abstract class SVTC extends SV

Trang 12

2 - Lớp trừu tượng

Trang 13

Chưa thể viết code vì lương 1 người =

lương cơ bản * hệ số

2 - Lớp trừu tượng

Trang 14

5.3- Đặc điểm của lớp trừu tượng.

Trang 15

Vì biến đối tượng là tham khảo chỉ đến đối tượng nên một biến thuộc lớp cha nhưng lại chỉ đến một lớp con là lớp trừ tượng

2 - Lớp trừu tượng

Trang 16

Biến lớp ông chỉ đến

•Lớp con cũng là lớp trừu tượng

2 - Lớp trừu tượng

Trang 17

2 - Lớp trừu tượng

Trang 18

2.2 Ví dụ

các hình: tròn, tam giác, chữ nhật

mảng các đối tượng và tính tổng diện tích của các hình trong mảng.

Trang 24

 Giao diện (Interfaces)

• Những phần của một chương trình Java:

 Lệnh khai báo gói(package )

 Lệnh chỉ định gói được dùng (Lệnh import)

 Khai báo lớp public (một file java chỉ chứa 1 lớp public class)

 Các lớp khác (classes private to the package)

• Tập tin nguồn Java có thể chứa tất cả hoặc một

Trang 25

3 Packages

lớp, interface và các gói con khác Đó

là những thành viên của gói

Trang 26

 Những ưu điểm khi dùng gói (Package):

• Cho phép tổ chức các lớp vào những đơn

vị nhỏ hơn

• Giúp tránh được tình trạng trùng lặp khi đặt tên

• Cho phép bảo vệ các lớp đối tượng

• Tên gói (Package) có thể được dùng để

nhận dạng chức năng của các lớp

3 Packages

Trang 27

 Những lưu ý khi tạo gói:

• Mã nguồn phải bắt đầu bằng lệnh ‘package’

• Mã nguồn phải nằm trong cùng thư mục mang tên

của gói

• Tên gói nên bắt đầu bằng ký tự thường (lower case)

để phân biệt giữa lớp đối tượng và gói

• Những lớp đối tượng trong gói cần phải được biên

dịch

3 Packages

Trang 28

 Import gói (Importing packages):

• Xác định tập tin cần được import trong gói

• Hoặc có thể import toàn bộ gói

3 Packages

Trang 29

3 Packages

• Khai báo gói

• Import những gói chuẩn cần thiết

• Khai báo và định nghĩa các lớp đối tượng có trong gói

• Lưu các định nghĩa trên thành tập tin java, và biên dịch những lớp đối tượng đã được định

Trang 30

 Sử dụng những gói do người dùng định nghĩa (user-defined packages)

• Mã nguồn của những chương trình này phải ở cùng

thư mục của gói do người dùng định nghĩa

• Để những chương trình Java khác sử dụng những

gói này, import gói vào trong mã nguồn

• Import những lớp đối tượng cần dùng

• Import toàn bộ gói

3 Packages

Trang 32

3 Packages

•Gói và điều khiển truy xuất (Packages & Access Control)

Cùng class YES YES YES YES Cùng gói, khác

Trang 33

4 Giao diện (Interface)

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

 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

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

 Khai báo giao diện:

interface <tên giao diện>

{

Trang 34

4 Giao diện (Interface)

Trang 35

4 Giao diện (Interface)

 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

 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

 Cú pháp:

{

Trang 36

4 Giao diện (Interface)

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

class HinhChuNhat implements TinhToanHinh{ private double dai, rong;

public HinhChuNhat(double d, double r)

{dai = d; rong = r;}

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

Trang 37

4 Giao diện (Interface)

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

class HinhTron implements TinhToanHinh {

private double bankinh;

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

2*bankinh*PI;}

public double dientich()

Trang 38

4 Giao diện (Interface)

 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à

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 khác Khi đó giao diện mới

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

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

Trang 39

4 Giao diện (Interface)

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

interface GiaoDienHinh extends TinhToanHinh

Trang 40

4 Giao diện (Interface)

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

diện:

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

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

 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 giao diện để tạo ra tham chiếu đến đối

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

 Ví dụ:

TinhToanHinh x = new HinhTron(3.0);

Trang 41

4 Giao diện (Interface)

h.dientich());

h = new HinhTron(1);

System.out.println("Chu vi hinh tron = " + h.chuvi());

Trang 42

4 Giao diện (Interface)

Trang 43

4 Giao diện (Interface)

 Phân biệt giữa lớp trừu tượng và giao diện:

• Lớp trừu tượng có thể chứa các thuộc tính, trong khi

giao diện chỉ chứa các hằng và khai báo phương thức.

• Một lớp có thể cài đặt nhiều giao diện trong khi chỉ kế thừa một lớp trừu tượng.

liệu và mọi phương thức đều là trừu tượng thì nên

Trang 44

Bài tập Quản lý tài liệu ở thư viện

 Một thư viện gồm các loại tài liệu sau:

• Sách(Mã sách, Tên Sách, Tác giả, NXB, Năm XB, Vị trí)

• Tạp chí (Mã tạp chí, Tên tạp chí, Chuyên ngành, Số,

Năm, Vị trí)

• CD(Mã CD, Tên CD, Số thứ tự, Nội dung, Vị trí)

 Hãy tổ chức các lớp sao cho có thể lập trình để thực hiện được các chức năng sau:

• Lưu danh sách các tài liệu có trong thư viện.

• Liệt kê toàn bộ tài liệu có trong thư viện.

• Liệt kê từng loại tài liệu có trong thư viện.

• Xem thông tin về tài liệu khi biết mã tài liệu

• Tìm kiếm một tài liệu theo: Tên và tác giả đối với sách; Tên tạp chí, Chuyên ngành, số, năm đối với tạp chí, Tên

CD, Số thứ tự và nội dung đối với CD.

Ngày đăng: 24/10/2014, 00:24

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w