Mock: Encapsulation Illustrated

(Imagen: Diapostitivas del curso de IBM)

Why is encapsulation important?

A. It describes the relationship between two subclasses.
B. It places operations and attributes in the same object.
C. It allows other objects to change private operation and attributes of an object
D. It prevents other objects from directly changing the attributes of an object.

Lo importante del encapsulamiento es la interfaz de mensajes del objeto. La interfaz de objeto nos asegura que toda comunicación con el objeto es a través de un grupo predefinido de operaciones. La data dentro del objeto sólo es accesible por las operaciones del objeto. Ningún objeto puede acceder a nuestro objeto y cambiar los valores de sus atributos.

En la imagen mostrada, el objeto Professor Clark necesita incrementar su máxima carga de cursos de tres clases a cuatro clases por semestre. Entonces, otro objeto realiza una solicitud al objeto Professor Clark para colocar su carga máxima en cuatro. Es ahí cuando la operación SetmaxLoad() cambia el valor del atributo MaxLoad.

El encapsulamiento es beneficioso en este ejemplo debido a que el objeto solicitante no necesita saber cómo cambiar la carga máxima de cursos. En el futuro, el número de variables utilizadas para definir la carga máxima de cursos puede cambiar, pero eso no afecta al objeto solicitante. El objeto solicitante depende de la operación en la interface del objeto Professor Clark.

Esto nos lleva a escoger las alternativas B y D.

Basado en el material del curso DEV475: Mastering Object-Oriented Analysis and Design with UML 2.0

Pregunta tomada de Elite Certify

Publicar un comentario