Episódio
O sistema de classes R6
por Winston Chang
useR!2017: O sistema de classes R6
Palavras-chave: Classes, Programação orientada a objetos, R6, Classes de referência
Páginas da web: https://CRAN.R-project.org/package=R6, https://github.com/wch/R6
R6 é uma implementação de um sistema clássico de programação orientada a objetos para R. Na POO clássica, os objetos têm estado mutável e contêm métodos para modificar e acessar o estado interno. Isso contrasta com o estilo funcional de programação orientada a objetos fornecido pelos sistemas de classes S3 e S4, onde os objetos (normalmente) não são mutáveis e os métodos para modificar e acessar seu conteúdo são externos aos próprios objetos.
O R6 tem algumas semelhanças com o sistema de Classe de Referência integrado do R. Embora a implementação do R6 seja mais simples e leve do que a das Classes de Referência, ela oferece alguns recursos adicionais, como membros privados e herança robusta entre pacotes.
Nesta palestra, discutirei quando faz sentido usar R6 em oposição à OOP funcional, demonstrarei como usar o pacote e explorarei alguns dos designs internos do R6.
useR!2017: O sistema de classes R6
Palavras-chave: Classes, Programação orientada a objetos, R6, Classes de referência
Páginas da web: https://CRAN.R-project.org/package=R6, https://github.com/wch/R6
R6 é uma implementação de um sistema clássico de programação orientada a objetos para R. Na POO clássica, os objetos têm estado mutável e contêm métodos para modificar e acessar o estado interno. Isso contrasta com o estilo funcional de programação orientada a objetos fornecido pelos sistemas de classes S3 e S4, onde os objetos (normalmente) não são mutáveis e os métodos para modificar e acessar seu conteúdo são externos aos próprios objetos.
O R6 tem algumas semelhanças com o sistema de Classe de Referência integrado do R. Embora a implementação do R6 seja mais simples e leve do que a das Classes de Referência, ela oferece alguns recursos adicionais, como membros privados e herança robusta entre pacotes.
Nesta palestra, discutirei quando faz sentido usar R6 em oposição à OOP funcional, demonstrarei como usar o pacote e explorarei alguns dos designs internos do R6.
Tem comentários? Envie um problema aqui.