Complexiteit verbergen met encapsulation

Objectgeoriënteerd programmeren met S3 en R6 in R

Richie Cotton

Data Evangelist at DataCamp

Objectgeoriënteerd programmeren met S3 en R6 in R

Encapsulation

Objectgeoriënteerd programmeren met S3 en R6 in R

Encapsulation

 

 

                                        |

implementatie   |   gebruikersinterface

                                        |

Objectgeoriënteerd programmeren met S3 en R6 in 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
}
)
)
Objectgeoriënteerd programmeren met S3 en R6 in R

 

 

 

private$ benadert private elementen

self$ benadert public elementen

Objectgeoriënteerd programmeren met S3 en R6 in R

Samenvatting

  • Encapsulation = scheiden van implementatie en UI
  • Sla data op in de private-lijst
  • Sla methoden op in de public-lijst
  • Gebruik private$ om private elementen te benaderen
  • ... en self$ voor public elementen
Objectgeoriënteerd programmeren met S3 en R6 in R

Laten we oefenen!

Objectgeoriënteerd programmeren met S3 en R6 in R

Preparing Video For Download...