カプセル化で複雑さを隠す

R における S3 と R6 を使ったオブジェクト指向プログラミング

Richie Cotton

Data Evangelist at DataCamp

R における S3 と R6 を使ったオブジェクト指向プログラミング

カプセル化

R における S3 と R6 を使ったオブジェクト指向プログラミング

カプセル化

 

 

                                        |

実装   |   ユーザーインターフェース

                                        |

R における S3 と R6 を使ったオブジェクト指向プログラミング
microwave_oven_factory <- R6Class(
  "MicrowaveOven",
  private = list(
    power_rating_watts = 800,

door_is_open = FALSE
),
public = list(
open_door = function() {
private$door_is_open <- TRUE
}
)
)
R における S3 と R6 を使ったオブジェクト指向プログラミング

 

 

 

private$非公開要素にアクセス

self$公開要素にアクセス

R における S3 と R6 を使ったオブジェクト指向プログラミング

まとめ

  • カプセル化 = 実装とUIの切り離し
  • データprivate リストに保存
  • メソッドpublic リストに保存
  • 非公開要素は private$ でアクセス
  • ...self$公開要素にアクセス
R における S3 と R6 を使ったオブジェクト指向プログラミング

練習しましょう

R における S3 と R6 を使ったオブジェクト指向プログラミング

Preparing Video For Download...