Ngày thi: 24/10/2023
Thời gian từ 22:0:0 24/10/2023 đến 23:59:59 25/10/2023
Nén tất cả các file .cs thành 1 file HoTen.zip rồi gửi vào email: refactortop@gmail.com

Dựa vào mô hình UML ở trên tạo 2 class Book và Textbook theo yêu cầu sau:
Phương thức GetTitle() trả về tên của sách
Phương thức GeBookInfo() trả tên thông tin của sách theo định dạng sau: “title-price”
Lưu ý: phải cài đặt thêm phương thức khởi tạo và các phương thức nếu cần thiết.
Phương thức GetEdition() trả về thông tin số ấn bản - edition của Textbook
Phương thức GetBookInfo() trả về thông tin của Textbook theo định dạng sau: “title-price-edition”
Phương thức CanSubstituteFor() trả về true nếu thỏa mãn các 2 điều kiệu sau ngược lại trả về false:
| Statement | Giá trị trả về (để trống nêu không có giá trị) |
Diễn giải |
|---|---|---|
| Textbook bio22 = new Textbook(“Biology”, 49.75, 2); | bio22 là 1 Textbook với title là “Biology” với price là 49.75, và có ấn bản edition là 2. | |
| Textbook bio23 = new Textbook(“Biology”, 39.75, 3); | bio23 là 1 Textbook với title là “Biology” với price là 39.75, và có ấn bản edition là 3. | |
| bio23.GetEdition() | 3 | Trả về ấn bản edition |
| bio23.GetBookInfo() | “Biology-39.37-3” | Trả về chuỗi định dạng bao gồm title, price và edition |
| bio23.CanSubstituteFor(bio22) | True | bio23 có thể thay thế hợp lệ cho bio22, ví chúng có cùng tên và edition của bio23 lớn hơn edion của bio22 |
| bio22.CanSubstituteFor(bio23) | False | bio22 không thay thế được bio23 vì edition của bio22 nhỏ hơn edition của bio23. |
| Textbook math = new Textbook("Calculus", 45.25, 1); | math là 1 Textbook với title là “Calculus” với price là 45.25, và có ấn bản edition là 1. | |
| bio22.CanSubstituteFor(math) | False | bio22 không thay thế được cho math, vì title của bio22 không giống với title của math |