用封裝隱藏複雜度

在 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...