lOMoARcPSD|59149108
ĐỀ ÔN KT KTHP
Tên học phần: Phương pháp Lập trình hướng đối tượng; Mã học phần : LING196
Câu 1: (6 điểm) Quản lý danh sách món nhà hàng đồ ăn nhanh (6 điểm)
Một tiệm bán đồ ăn nhanh gồm 2 món: Đồ ăn chínhđồ 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.
Câu 2: (4 điểm) 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),
phương thức getKhoiluong(int, int, int):double <<Abtract>>
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
lOMoARcPSD| 59149108
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 2 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.
. . . HẾT . . .
- Cán bộ coi thi không được giải thích đề thi.
- Thí sinh không được phép sử dụng tài liệu.

Preview text:

lOMoARcPSD| 59149108 ĐỀ ÔN KT KTHP
Tên học phần: Phương pháp Lập trình hướng đối tượng; Mã học phần : LING196
Câu 1: (6 điểm) Quản lý danh sách món nhà hàng đồ ăn nhanh (6 điểm)
Một tiệm bán đồ ăn nhanh gồm 2 món: Đồ ăn chínhđồ 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.
Câu 2: (4 điểm) 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 <>
• Và phương thức toString ():string <>
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 lOMoAR cPSD| 59149108
• 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 2 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. . . . HẾT . . .
- Cán bộ coi thi không được giải thích đề thi.
- Thí sinh không được phép sử dụng tài liệu.