Encapsulación en Programación R

En la programación R , OOP proporciona clases y objetos como sus herramientas clave para reducir y administrar la complejidad del programa. R es un lenguaje funcional que utiliza conceptos de programación orientada a objetos. Podemos pensar en la clase como un boceto de un automóvil. Contiene todos los detalles sobre el modelo_nombre, modelo_no, motor, etc. En base a estas descripciones, seleccionamos un automóvil. El coche es el objeto. Cada objeto de automóvil tiene sus propias características y características. Un objeto también se denomina instancia de una clase y el proceso de creación de este objeto se denomina instanciación. OOP tiene las siguientes características:

  • Clase
  • Objeto
  • Abstracción
  • Encapsulación
  • Polimorfismo
  • Herencia

Entonces, en este artículo, analicemos las funciones de encapsulación en la programación R.

Encapsulación en R

Al trabajar con clases y tratar con datos confidenciales, implementar el acceso global a todas las variables utilizadas dentro del código del programa no es una buena opción porque entonces aumentarán las posibilidades de que los datos sean moderados. Para este propósito, los lenguajes de Programación Orientada a Objetos tienen el concepto de Encapsulación. La encapsulación garantiza que la vista exterior del objeto esté claramente separada de la vista interior del objeto al ocultar la implementación de la operación y el estado de la interfaz que está disponible para todos los demás objetos. 

Nota: Un objeto es una colección de operaciones que comparte un estado. La colección de operaciones define el comportamiento de un objeto. 

Encapsulation

La encapsulación es: 

  • Vincular los datos con el código que los manipula. 
  • Mantiene los datos y el código a salvo de interferencias externas. 

Una forma común de pensar en la encapsulación es como cuando vas a un restaurante, el mesero viene y te pregunta qué quieres comer y luego le pides al mesero lo que quieres comer, y el mesero luego delega la cocina de lo que quieres comer. pide al chef del restaurante y te trae el plato pedido. No puedes ir directamente al chef y decirle lo que quieres comer. Esto no será apropiado para el restaurante y para usted. Lo mismo ocurre con la clase, cuando desea que dos clases se comuniquen entre sí, en realidad son los objetos de esas clases comunicándose entre sí y haciendo el trabajo. Dos clases no pueden comunicarse directamente entre sí porque entonces los datos se vuelven vulnerables y fáciles de modificar. Así actualizando, modificando, o la eliminación de datos de las variables se puede hacer mediante el uso de métodos que se definen específicamente para el propósito. El beneficio de usar este enfoque de programación es un mejor control sobre los datos de entrada y una mejor seguridad. La encapsulación ayuda a crear código que se acopla libremente. Debido a que los detalles están ocultos, reduce la capacidad de otros objetos para modificar directamente el estado y el comportamiento de un objeto. 

Ejemplo 1: 

R

l <- list(name = "Geeksforgeeks", 
          state = "UP", sector= 136)
  
# Class name declared as 'info'
class(l) <- "info" 
  
# Object creation of class 'info'
l

Producción: 

$name 
[1] "Geeksforgeeks" 

$state 
[1] "UP" 

$sector 
[1] 136 

attr(, "class") 
[1] "info" 

Ejemplo 2: 

R

s <- list(country = "India",  
          state = "Delhi", street_no.= 110) 
    
# Class name declared as 'address'   
class(s) <- "address"
    
# Object creation of class 'address'. 
s

Producción: 

$country
[1] "India"

$state
[1] "Delhi"

$street_no.
[1] 110

attr(, "class")
[1] "address"

Al usar cualquier código encapsulado como el anterior, debe saber lo siguiente: 

  1. Todo el mundo sabe cómo acceder a él. 
  2. Se puede usar fácilmente independientemente de los detalles de implementación. 
  3. No debería haber efectos secundarios del código en el resto de la aplicación. 

La encapsulación puede ayudar a crear un código más fácil de mantener al ayudar a bloquear el efecto dominó de los cambios de código. También ayuda a crear código débilmente acoplado al disminuir el acceso directo al estado y comportamiento de un objeto.

Publicación traducida automáticamente

Artículo escrito por shubhamkrwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *