Pişirme Yeteneklerini Genişletme
Alt sınıf, ebeveyn sınıfta bulunmayan adlara sahip ek public yöntemler ekleyerek ebeveynin işlevselliğini genişletebilir.
Public yöntemler, adlarının başına self$ getirerek diğer public yöntemleri çağırabilir.
Bu egzersiz, kursun bir parçasıdır
R'de S3 ve R6 ile Nesne Yönelimli Programlama
Egzersiz talimatları
Çalışma alanında bir mikrodalga fırın önceden tanımlandı.
- Süslü mikrodalga fırın sınıfının tanımını bir
publicöğesi içerecek şekilde genişlet. - Public bir
cook_baked_potato()yöntemi ekle.- Bu yöntem hiçbir argüman almamalı.
- Gövdesinde, kendi
cook()yöntemini 3 saniye için çağırmalı.
- Bir
FancyMicrowaveOvennesnesi oluştur vea_fancy_microwavedeğişkenine ata. a_fancy_microwave'incook_baked_potato()yöntemini çağır.
Uyarı: 3 saniye pişirildikten sonra fırından çıkan patatesleri yemeye çalışma; tadı kötü olur ve gıda zehirlenmesi yaşayabilirsin.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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
___