Ukrywanie złożoności dzięki enkapsulacji

Programowanie obiektowe z S3 i R6 w R

Richie Cotton

Data Evangelist at DataCamp

Programowanie obiektowe z S3 i R6 w R

Enkapsulacja

Programowanie obiektowe z S3 i R6 w R

Enkapsulacja

 

 

                                        |

implementacja   |   interfejs użytkownika

                                        |

Programowanie obiektowe z S3 i R6 w 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
}
)
)
Programowanie obiektowe z S3 i R6 w R

 

 

 

private$ uzyskuje dostęp do elementów prywatnych

self$ uzyskuje dostęp do elementów publicznych

Programowanie obiektowe z S3 i R6 w R

Podsumowanie

  • Enkapsulacja = oddzielenie implementacji od interfejsu użytkownika
  • Dane przechowuje się na liście private
  • Metody przechowuje się na liście public
  • private$ umożliwia dostęp do elementów prywatnych
  • ... i self$ umożliwiają dostęp do elementów publicznych
Programowanie obiektowe z S3 i R6 w R

Czas na ćwiczenia!

Programowanie obiektowe z S3 i R6 w R

Preparing Video For Download...