Programming C#

Coffee Maker

Thời gian làm bài từ 17:30:00 ngày 4/1/2026 đến 23:59:59 ngày 5/1/2026

Zip các file .cs thành HoTenHocVien.zip rồi nộp vào link sau: https://forms.gle/VdxaeHW6BreABVpE8

Lưu ý: Sử dụng code AI nộp bài 0 điểm

Câu 1 (2 điểm)

Trình bày sự khác nhau giữa class, abstract class và interface C#.

Câu 2 (8 điểm)

Thiết kế lớp cho một máy pha cà phê (Coffee Maker).

Có một máy pha cà phê với một màn hình. Máy cần quản lý 3 loại nguyên liệu: Hạt cà phê (coffee beans), nước (water), sữa (milk). Có 3 loại đồ uống có thể pha, với công thức mặc định như sau:

Khi người dùng đến, trên màn hình sẽ hiển thị các loại đồ uống có sẵn. Sau khi người dùng chọn một loại đồ uống, họ có thể tùy chỉnh lượng nguyên liệu.

Ví dụ: sau khi chọn Espresso, người dùng có thể đổi công thức mặc định thành 4 hạt cà phê và 1 nước.

Admin (quản trị viên) có thể nạp thêm nguyên liệu cho máy.

Cả admin và user (người dùng) đều tương tác với máy thông qua màn hình.

Trong tương lai, hệ thống có thể hỗ trợ thêm nhiều loại đồ uống khác.

Yêu cầu: Hãy thiết kế một class với các hàm public để biểu diễn máy pha cà phê, các hàm này sẽ được màn hình gọi để sử dụng.