Ocultando a complexidade com encapsulamento

Programação Orientada a Objetos com S3 e R6 em R

Richie Cotton

Data Evangelist at DataCamp

Programação Orientada a Objetos com S3 e R6 em R

Encapsulamento

Programação Orientada a Objetos com S3 e R6 em R

Encapsulamento

 

 

                                        |

implementação   |   interface do usuário

                                        |

Programação Orientada a Objetos com S3 e R6 em 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
}
)
)
Programação Orientada a Objetos com S3 e R6 em R

 

 

 

private$ acessa elementos privados

self$ acessa elementos públicos

Programação Orientada a Objetos com S3 e R6 em R

Resumo

  • Encapsulamento = separar implementação da UI
  • Guarde dados na lista private
  • Guarde métodos na lista public
  • Use private$ para acessar elementos privados
  • ... e self$ para acessar elementos públicos
Programação Orientada a Objetos com S3 e R6 em R

Vamos praticar!

Programação Orientada a Objetos com S3 e R6 em R

Preparing Video For Download...