Programming C#

Textbook

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

Xây dựng các class như mô hình UML sau:

Dựa vào mô hình UML ở trên tạo 2 class Book và Textbook theo yêu cầu sau:

1. (4 điểm) Tạo class Book với 2 phương thức GetTitle() và GetBookInfo() theo các 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.

2. (6 điểm) Tạo Class Textbook với 3 phương thức GetEdition(), GetBookInfo() và CanSubstituteFor() theo các yêu cầu sau:

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:

Xem các ví dụ

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()3Trả 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)Truebio23 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)Falsebio22 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)Falsebio22 không thay thế được cho math, vì title của bio22 không giống với title của math