BaşlayınÜcretsiz başlayın

Pişirmeyi Öğrenmek

R6Class()'ın üçüncü argümanı public olarak adlandırılır ve nesnenin kullanıcıya yönelik işlevselliğini barındırır. Bu argüman, her bir öğesi adlandırılmış bir liste olmalıdır.

Bir R6 sınıfının public öğesi, kullanıcının erişebildiği işlevleri içerir. Genellikle yalnızca fonksiyonlar bulunur.

Bir R6 sınıf üreticisi oluşturmanın güncellenmiş deseni şöyledir:

thing_factory <- R6Class(
  "Thing",
  private = list(
    a_field = "a value",
    another_field = 123
  ),
  public = list(
    do_something = function(x, y, z) {
      # Burada bir şeyler yap
    }
  )
)

Bu egzersiz, kursun bir parçasıdır

R'de S3 ve R6 ile Nesne Yönelimli Programlama

Kursa Göz Atın

Egzersiz talimatları

Senin için kısmen tanımlanmış bir mikrodalga fırın fabrikası var.

  • Tanımın public öğesini güncelleyerek bir cook metodu ekle.
    • cook metodu bir fonksiyondur.
    • Pişirme süresini belirtmek için time_seconds adlı tek bir argümana sahip olmalı.
    • cook metodunun gövdesinde, ayrılan süre boyunca hiçbir şey yapmayan Sys.sleep()'e (docs) time_seconds değerini geçir.
    • Son olarak, cook metodu print() (docs) ile "Your food is cooked!" dizgesini yazdırmalı.
  • microwave_oven_factory'nin new() metodunu kullanarak a_microwave_oven adlı bir mikrodalga fırın nesnesi oluştur.
  • a_microwave_oven'ın cook() metodunu 1 saniyelik süreyle çağır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Add a cook method to the factory definition
microwave_oven_factory <- R6Class(
  "MicrowaveOven",
  private = list(
    power_rating_watts = 800
  ),
  public = list(
    ___ = ___(___) {
      ___
      ___
    }
  )
)

# Create microwave oven object
a_microwave_oven <- ___

# Call cook method for 1 second
___
Kodu Düzenle ve Çalıştır