Mở rộng khả năng nấu nướng
Lớp con có thể mở rộng chức năng của lớp cha bằng cách thêm các phương thức public mới với tên khác so với những phương thức có sẵn ở lớp cha.
Các phương thức public có thể gọi các phương thức public khác bằng cách thêm tiền tố self$ trước tên phương thức.
Bài tập này là một phần của khóa học
Lập trình hướng đối tượng với S3 và R6 trong R
Hướng dẫn bài tập
Một lò vi sóng đã được định nghĩa sẵn trong workspace của bạn.
- Mở rộng định nghĩa lớp lò vi sóng cao cấp để bao gồm phần tử
public. - Thêm phương thức public
cook_baked_potato().- Phương thức này không nhận đối số.
- Trong thân hàm, hãy gọi chính phương thức
cook()của nó trong 3 giây.
- Tạo một đối tượng
FancyMicrowaveOvenvà gán vàoa_fancy_microwave. - Gọi phương thức
cook_baked_potato()củaa_fancy_microwave.
Cảnh báo: Đừng ăn khoai tây nướng sau khi chỉ nấu 3 giây — chúng sẽ rất dở và bạn có thể bị ngộ độc thực phẩm.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Explore microwave oven class
microwave_oven_factory
# Extend the class definition
fancy_microwave_oven_factory <- R6Class(
"FancyMicrowaveOven",
inherit = microwave_oven_factory,
# Add a public list with a cook baked potato method
___ = ___(
___ = ___
)
)
# Instantiate a fancy microwave
a_fancy_microwave <- ___
# Call the cook_baked_potato() method
___