You are on page 1of 3

HP: Phương pháp lập trình hướng đối tượng

Bài thực hành buổi 3


Bài 1: 4đ Bài toán quản lý dãy nhiều kiểu số
Viết chương trình nhập xuất 1 dãy bao gồm số nguyên, phân số và
số phức. Yêu cầu:
1.Nhập dãy
2.Xuất dãy
3.Xuất kết quả phép cộng các số cùng kiểu trong dãy nhập vào
theo dạng:
A + B = kết quả phép cộng
Trong đó A, B cùng 1 kiểu số (trong 3 kiểu nguyên/phân số/số
phức)
Gợi ý:
Xây dựng các lớp kiểu số implements interface TinhToan sau:
interface TinhToan
{
void cong (TinhToan x);
}

Bài 2: Quản lý Menu danh sách món ăn nhà hàng đồ ăn nhanh (3đ)
Một tiệm bán đồ ăn nhanh gồm 2 món: Đồ ăn chính và đồ uống. Mỗi
món ăn có các thuộc tính chung: Mã món, Tên món và Giá, và các
thông tin này phụ thuộc vào sản phẩm cụ thể. Đồ ăn có thêm thuộc
tính: Đồ mặn hoặc đồ chay. Đồ uống có thêm thuộc tính: Có ga hoặc
không có ga.
Danh sách các món ăn (gồm đồ ăn và đồ uống) được lưu trữ trong
một mảng một chiều với cấu trúc dữ liệu tự chọn.
Yêu cầu:
- Cài đặt class MonAn.java (1.0 đ)
- Cài đặt class MonChinh.java (1.0đ)
- Cài đặt class DoUong.java (1.0đ)
- Cài đặt class QLNhaHang.java theo yêu cầu sau:
o Sử dụng danh sách duy nhất để lưu trữ tất cả các món ăn
(0.5đ)
o Vết chương trình thực hiện theo menu sau:
1. Thêm một món ăn (0.5 đ)
2. Thêm một đồ uống (0.5đ)
3. Cập nhật giá của một món ăn theo mã món ăn (0.75đ)
4. In danh sách món chính giảm dần theo giá (0.75đ)
0. Thoát chương trình
In danh sách món chính theo định dạng sau:
STT Tên món Giá Loại
1 Gà rán 40000 Đồ mặn
2 Bánh bao 20000 Đồ chay
Hãy phân tích và thiết kế hệ thống hướng đối tượng để quản lý các
món ăn với các tính chất thừa kế, trừu tượng mà bạn thấy phù hợp.
Bài 3: 3đ Bài toán quản lý đơn hàng giao nhanh
Tạo đơn hàng chuyển phát nhanh , một công ty Chuyển phát nhanh có các loại đơn hàng như
sau: Hỏa tốc, Giao nhanh và Đi thường. Thực hiện thiết kế:
Class DonHang (Abtract class): (1.0 điểm)
 Gồm các thông tin sau:Dai (int), Rong (int), Cao(int), PhatThanhcong(boolean),
 Và phương thức getKhoiluong(int, int, int):double <<Abtract>>
 Và phương thức toString ():string <<Abtract>>
Class Hoatoc extends Donhang : (0.5 điểm)
 Override phương thức getKhoiluong theo công thức: Khoiluong = (Dai x Rong x
Cao)/6000
 Override toString(): Nếu phát thành công thì trả về “Đơn hàng Hỏa tốc khối lượng là
… kg đã phát thành công”, ngược lại trả về “Đơn hàng chưa phát”
Giaonhanh extends Donhang: (0.5 điểm)
 Override phương thức getKhoiluong theo công thức: Khoiluong = (Dai x Rong x
Cao)/4000
 Override toString(): Nếu phát thành công thì trả về “Đơn hàng Giao nhanh khối lượng
là … kg đã phát thành công”, ngược lại trả về “Đơn hàng chưa phát”
Class Dithuong extends Donhang: (0.5 điểm)
 Override phương thức getKhoiluong theo công thức: Khoiluong = (Dai x Rong x
Cao)/3000
 Override toString(): Nếu phát thành công thì trả về “Đơn hàng Đi thường khối lượng
là … kg đã phát thành công”, ngược lại trả về “Đơn hàng chưa phát”
DonhangFactory class: (0.75 điểm)Tạo ra các đơn hàng theo phương thức
getDonhang(String Loaidonhang), trong đó Loại đơn hàng nhận 3 giá trị:
“HOATOC”,”GIAONHANH”, “DITHUONG”
FactoryDonhangDemo class: (0.75 điểm) Tạo một đối tượng là instance của
DonhangFactory, thông qua đối tượng này chọn loại chuyển phát, và nhập các tham số Dai,
Rong, Cao thực hiện in ra khối lượng vận chuyển tương tứng với loại chuyển phát.

You might also like