1. Tạo lớp Employee có 2 thuộc tính name kiểu string và salary kiểu double
- Định nghĩa một hàm khởi tạo có tham số để khởi tạo cho thuộc tính name salary
- Định nghĩa phương thức ảo calculatepay())
2. Tạo 3 lớp Manager, Scientist, Laborer kế thừa từ lớp Employee
- Lớp manager có thuộc tính business_amount kiểu double
- Lớp Scientist có thuộc tính publication kiểu int
- Lớp Laborer có thuộc tính hrsworded kiểu int
- Cả 3 lớp ghi đề phương thức calculatepay() và tính total_pay theo công thức:
total_pay = salary + commission;
Trong đó:
- Lớp Manager: nếu business_amount > 50000 thì commission = 10% * business_amount, ngược lại commission = 5% * business_amount
- Lớp Scientist: néu publication > 25 thì commission = 20%*salary, ngược lại commission =10% * salary
- Lớp Laborer: nếu hrsworked > 50 thì commission = 15% * salary, ngược lại commision = 8% * salary
- Cả 3 lớp cài phương thức display() để hiển thị name, salary và business_amount(Manager), publication(Scentist),hrsworked(Laborer) và totalpay
3. Viết lớp DemoTest chứa phương thức main cho phép:
- Nhập các đối tượng manager, scientist, laborer
- Gọi các phương thức display của từng đối tượng để hiển thị thông tin về các đối tượng.