Приховування складності за допомогою інкапсуляції

Об'єктно-орієнтоване програмування з S3 та R6 в R

Richie Cotton

Data Evangelist at DataCamp

Об'єктно-орієнтоване програмування з S3 та R6 в R

Інкапсуляція

Об'єктно-орієнтоване програмування з S3 та R6 в R

Інкапсуляція

 

 

                                        |

реалізація   |   інтерфейс користувача

                                        |

Об'єктно-орієнтоване програмування з S3 та R6 в R
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
}
)
)
Об'єктно-орієнтоване програмування з S3 та R6 в R

 

 

 

private$ звертається до приватних елементів

self$ звертається до публічних елементів

Об'єктно-орієнтоване програмування з S3 та R6 в R

Підсумок

  • Інкапсуляція = відокремлення реалізації від UI
  • Зберігайте дані в списку private
  • Зберігайте методи в списку public
  • Використовуйте private$, щоб звертатися до приватних елементів
  • ... і self$, щоб звертатися до публічних елементів
Об'єктно-орієнтоване програмування з S3 та R6 в R

Давайте потренуємось!

Об'єктно-орієнтоване програмування з S3 та R6 в R

Preparing Video For Download...