Ascunderea complexității prin încapsulare

Programare orientată pe obiecte cu S3 și R6 în R

Richie Cotton

Data Evangelist at DataCamp

Programare orientată pe obiecte cu S3 și R6 în R

Încapsulare

Programare orientată pe obiecte cu S3 și R6 în R

Încapsulare

 

 

                                        |

implementare   |   interfață utilizator

                                        |

Programare orientată pe obiecte cu S3 și R6 în 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
}
)
)
Programare orientată pe obiecte cu S3 și R6 în R

 

 

 

private$ accesează elementele private

self$ accesează elementele publice

Programare orientată pe obiecte cu S3 și R6 în R

Rezumat

  • Încapsulare = separarea implementării de interfață
  • Stocați datele în lista private
  • Stocați metodele în lista public
  • Folosiți private$ pentru elementele private
  • ... și self$ pentru elementele publice
Programare orientată pe obiecte cu S3 și R6 în R

Să exersăm!

Programare orientată pe obiecte cu S3 și R6 în R

Preparing Video For Download...