Bài tập tự luyện
Bài tập 1: Phương tiện giao thông
Yêu cầu:
- Tạo abstract class
Vehiclecó các abstract method:start_engine()vàmove(). - Tạo các lớp con
Car,Bike,Boatkế thừa từVehicle, implement đầy đủ các phương thức. - Tạo danh sách chứa các đối tượng khác nhau và gọi phương thức
start_engine()vàmove()cho mỗi đối tượng.
Bài tập 2: Hình học cơ bản
Yêu cầu:
- Tạo abstract class
Shapevới các abstract method:area()vàperimeter(). - Tạo các lớp
Circle,Rectangle,Square,Trianglekế thừa từShape, mỗi lớp có constructor riêng để nhận thông tin hình học. - Viết chương trình in ra diện tích và chu vi của từng hình.
Bài tập 3: Hệ thống thanh toán
Yêu cầu:
- Tạo abstract class
PaymentMethodcó các abstract method:authenticate()vàpay(amount). - Tạo các lớp con
CreditCard,PayPal,CryptoWalletvà override các phương thức. - Viết chương trình giả lập quá trình thanh toán bằng các phương thức khác nhau.
Bài tập 4: Quản lý nhân sự
Yêu cầu:
-
Tạo abstract class
Employeecó:- Thuộc tính:
name,id - Abstract method:
calculate_salary()
- Thuộc tính:
-
Tạo các lớp con
FullTimeEmployee,PartTimeEmployee,Freelancer -
Mỗi lớp tự tính lương theo công thức khác nhau.
-
Tạo danh sách nhân viên, in ra tên và lương từng người.
Bài tập 5: Trình phát media
Yêu cầu:
- Tạo abstract class
MediaPlayervới các abstract method:play(),pause(),stop(). - Tạo các lớp con
MP3Player,VideoPlayer,StreamingPlayer. - Tạo menu điều khiển đơn giản qua terminal cho người dùng chọn loại media và thao tác.
Bài tập 6: Trình quản lý plugin
Yêu cầu:
-
Tạo abstract class
Pluginvới các abstract method:load(),execute(),unload(). -
Viết một plugin tên
SpellCheckPluginvà một cái khác làAutoSavePlugin. -
Viết trình quản lý (plugin manager) cho phép:
- Đăng ký plugin
- Gọi
load,execute,unloadtuần tự