- Tất cả các bài trong này đều được tạo trên Console App của C#, Visual Studio.
- Mỗi bài sẽ tạo 1 Project riêng biệt, đặt tên: Bai_1, Bai_2, ...
- Tất cả các project cho đặt chung trong một Solution OOP
- Tạo custom class Person bao gồm:
- Property:
- Id
- Name
- Age
- Income
- TaxCoe (Hệ số thuế)
- Method:
- Equals(Person p):
Xác định xem thông tin truyền vào
và thông tin hiện thời có phải cùng 1 người. - GetTax():
Thông qua TaxCoe và Income tính toán
tiền thuế người đó phải nhập.
- Equals(Person p):
- Trong class Program:
Tạo Method:- Init():
Khởi tạo một List
có thể hardcode đầu vào. - Output():
In ra màn hình thông tin của mỗi một người
trên cùng một dòng, bao gồm:- Id
- Name
- Tax
- Init():
- Tạo class TaxData bao gồm:
Một method GetTaxCoe() để tính hệ số thuế theo logic sau:
- Nếu "tuổi < 18" thì hệ số thuế = 0.
- Nếu "tuổi > 18":
- Nếu "Income <= 9_000_000" thì hệ số thuế = 5%.
- Nếu "9_000_000 < Income <= 15_000_000" thì hệ số thuế = 10%.
- Nếu "15_000_000 < Income <= 20_000_000" thì hệ số thuế = 15%.
- Nếu "20_000_000 < Income <= 30_000_000" thì hệ số thuế = 20%.
- Tạo class Program như Bài 1 và chỉnh sửa như sau:
- Trong Constructor của Person, truyền vào một Instance của TaxData.
- Sử dụng Instance này để tính toán hệ số thuế:
- Xuất dữ liệu ra màn hình như bài 1.
-
Tạo class TaxData như bài 2.
-
Biến class Person thành Interface IPerson,
thêm method GetInfo() để lấy ra thông tin cần thiết của 1 person. -
Tạo thêm các class sau để tận dụng Interface IPerson,
với các property sau:
- class Student:
- property:
- Class (chỉ lớp học)
- School
- property:
- class Teacher:
- property:
- School
- property:
- class Employee:
- property:
- Company
- JobTitle
- property:
-
Khởi tạo dữ liệu với TaxData cho một List đủ các loại
đối tượng (Student, Teacher, Employee) -
Trong class Program, tạo method Output() để xuất ra màn hình thông tin sau:
Student: Số_Lượng _ID_Name_Age_School_Class
Teacher: Số_Lượng _ID_Name_Age_School_Income_Tax
Employee: Số_Lượng _ID_Name_Age_Company_JobTitle_Income_Tax