You are on page 1of 4

Machine Translated by Google

Lý thuyết và ngôn ngữ hướng đối tượng


Bùi Thị Mai Anh, anhbtm@soict.hust.edu.vn
Lab 7: Lớp và Giao diện Tóm tắt

* Mục tiêu:
Trong phòng thí nghiệm này, bạn sẽ thực hành với:

• Tạo lớp trừu tượng, các phương thức trừu

tượng • Tạo giao diện và thực hiện nó • Sử dụng

Threads

Bạn cần sử dụng dự án mà bạn đã làm với các phòng thí nghiệm trước đó bao gồm cả AimsProject và các dự án khác.

1. Nhập AimsProject - Mở

Eclipse - Mở tệp -> Nhập.

Nhập zip để tìm Tệp lưu trữ nếu bạn đã xuất dưới dạng tệp zip trước đó.

Bạn có thể chọn Dự án hiện có vào Không gian làm việc nếu bạn muốn mở một dự án hiện có trong

máy tính của mình. Bỏ qua bước này nếu AimsProject đã được mở trong không gian làm việc.

- Nhấp vào Tiếp theo và duyệt đến một tệp zip hoặc một dự án để mở

2. Mở rộng dự án AIMS để cho phép đặt hàng đĩa CD (Đĩa nhỏ gọn)

Như với DigitalVideoDisc và Book, lớp CompactDisc sẽ mở rộng Media, kế thừa các trường

tiêu đề, danh mục và chi phí cũng như các phương thức liên quan.

2.1. Tạo lớp trừu tượng Media

- Mở lớp Media

1
Machine Translated by Google

- Sửa đổi lớp Media và làm cho nó trở nên trừu tượng

- Giữ ba trường Phương tiện: tiêu đề, danh mục, chi phí và các phương pháp liên quan của chúng

2.2. Tạo lớp Đĩa mở rộng lớp Phương tiện - Lớp Đĩa có hai trường:

độ dài và đạo diễn

- Tạo phương thức getter / setter cho các trường này - Tạo

DigitalVideoDisc mở rộng lớp Disc - Tạo CompactDisc mở rộng lớp Disc

2.3. Tạo lớp Bản nhạc để mô hình một bản nhạc trên đĩa compact và sẽ lưu trữ thông tin bao gồm tiêu

đề và độ dài của bản nhạc - Mở lớp Bản nhạc - Thêm hai trường: Tên chuỗi và độ dài int

- Đặt các trường này ở chế độ riêng tư và tạo các phương thức getter và setter của chúng ở chế độ công khai

- Lưu các thay đổi của bạn

2.4. Mở lớp CompactDisc

- Thêm 3 trường vào lớp này:

• một chuỗi với tư cách nghệ sĩ

• một trường int là chiều dài

• một ArrayList of Track dưới dạng các bản nhạc

- Đặt tất cả các trường này ở chế độ riêng tư

- Tạo các phương thức getter và setter cho chỉ nghệ sĩ, đặt chúng ở chế độ công khai

- Tạo phương thức addTrack () và removeTrack ()

• Phương thức addTrack () sẽ kiểm tra xem bản nhạc đầu vào đã có trong danh sách các bản nhạc chưa và

thông báo cho người dùng

• Phương thức removeTrack () nên kiểm tra xem bản nhạc đầu vào có tồn tại trong danh sách các bản nhạc hay không và

thông báo cho người dùng

- Tạo phương thức getLength () • Vì mỗi bản

nhạc trong CD có độ dài nên độ dài của CD phải bằng tổng độ dài của

tất cả các bài hát của nó.

- Lưu các thay đổi của bạn

3. Tạo giao diện có thể chơi được Giao

diện có thể chơi được tạo để cho phép các lớp chỉ ra rằng chúng triển khai một trò chơi ()

phương pháp

2
Machine Translated by Google

- Thêm vào giao diện Playable nguyên mẫu phương thức: public void play ();

- Lưu các thay đổi của bạn

- Triển khai giao diện có thể chơi được

• Triển khai Playable với CompactDisc, DigitalVideoDisc và Track

• Đối với mỗi lớp CompactDisc và DigitalVideoDisc này, hãy chỉnh sửa mô tả lớp để bao gồm các từ khóa

triển khai Playable, sau khi từ khóa mở rộng Disc

• Đối với lớp Theo dõi, hãy chèn các từ khóa được triển khai Có thể phát sau các từ khóa

Theo dõi lớp công khai

- Triển khai play () cho DigitalVideoDisc và Track

• Thêm phương thức play () vào hai lớp này • Trong

DigitalVideoDisc, chỉ cần in ra màn hình:

public void play ()


"
{System.out.println ("Đang phát DVD: + this.getTitle ()); +

System.out.println (" Độ dài DVD: " this.getLength ());

• Đối với lớp Track, bạn làm tương tự

- Triển khai play () cho CompactDisc

• Vì lớp CompactDisc chứa ArrayList of Tracks nên mỗi phần trong số đó có thể được phát riêng.

Phương thức play () sẽ xuất một số thông tin về CompactDisc sang bảng điều khiển

• Lặp qua từng rãnh của danh sách mảng và gọi phương thức play () của Track

4. Cập nhật lớp Aims - Bạn

sẽ cập nhật lớp Aims để kiểm tra các thay đổi của mình.

• Tạo thêm lựa chọn cho ứng dụng bảng điều khiển của bạn

• Cập nhật menu lựa chọn: o Để thêm mặt hàng mới vào

đơn đặt hàng, chương trình sẽ yêu cầu loại: Sách,

CompactDisc hoặc DigitalVideoDisc

o Đối với CompactDisc, chương trình sẽ cho phép thêm thông tin của các Bản nhạc

o Khi thêm cd / dvd vào đơn đặt hàng, người dùng có thể yêu cầu phát chúng

5. Thực hành với Chủ đề

những thay đổi.

Một lớp được gọi là MemoryDaemon chạy như một luồng daemon, theo dõi việc sử dụng bộ nhớ trong hệ

thống.

3
Machine Translated by Google

- Lớp MemoryDaemon thực thi giao diện java.lang.Runnable - Thực hiện phương thức run () - Thêm trường long

memoryUsed vào lớp MemoryDaemon - Khởi tạo trường này thành 0. Nó theo dõi việc sử dụng bộ nhớ trong hệ thống.

- Thêm mã vào phương thức run () để kiểm tra việc sử dụng bộ nhớ khi chương trình chạy Tạo một

vòng lặp sẽ ghi lại lượng bộ nhớ được sử dụng khi phương thức Aims.main () thực thi.

Bạn sẽ sử dụng lớp java.lang.Runtime , có phương thức tĩnh


getRuntime ().

- Lưu các thay đổi của bạn

5.2. Cập nhật lớp Aims Lớp Aims sẽ tạo

một đối tượng MemoryDaemon mới và chạy nó như một luồng daemon - Mở phương thức main () của lớp Aims - Thêm mã để

tạo một đối tượng MemoryDaemon mới - Sử dụng đối tượng này trong phương thức khởi tạo của lớp Thread để tạo một đối

tượng Thread mới - Sử dụng phương thức setDaemon () để chỉ ra rằng luồng này là một tiểu trình daemon, hãy thêm mã vào

bắt đầu chủ đề.

- Lưu các thay đổi của bạn

Chạy chương trình và xem các thay đổi ...

You might also like