8.2.- Encapsulamiento
El encapsulamiento consiste en poner juntos los datos y las funciones dentro de un objeto de tipo clase.
El modelo procedimental puede representarse como en la figura 8.1.
Figura 8.1.- Modelo procedimental.
donde se observa que los datos y el código se manejan como partes separadas. El programa ( código ) es alimentado con los datos para que produzca resultados.
Por otra parte, el modelo orientado a objetos puede representarse como en la figura 8.2.
Figura 8.2.- Modelo de la Programación Orientada a Objetos.
donde DATOS y CODIGO se han unido para formar un OBJETO, el cual va a producir ciertos RESULTADOS, de acuerdo al MENSAJE que se le envíe.
Esto es, un objeto de ciertas características va a comportarse de acuerdo a su clase al recibir un mensaje específico.
Como se logra el ENCAPSULAMIENTO en el lenguaje C++ ?
Podemos pensar que, así como se requieren tipos para definir las variables en un enfoque procedimental, se requieren "tipos" o "moldes" para crear los objetos.
En el lenguaje C++ esos moldes se crean por medio de las palabras reservadas : class, struct y union .
La Geometría representa un campo idóneo para ejemplificar el manejo de objetos. Las definiciones para cada una de las figuras se hacen a través de enunciados que incluyen la expresión: " .. es el lugar geométrico de todos los puntos que ...". Como puede verse, el concepto de punto es la base para la definición de cualquier figura geométrica.
La representación de las figuras geométricas, en la pantalla de un monitor, se hace por medio de los pixeles, que son los elementos básicos ( puntos iluminados ) utilizados para representar los gráficos en la pantalla.
Con base a estos conceptos, en la siguiente sección vamos a crear una clase base llamada punto.
Los objetos de tipo punto podrán situarse en cualquier lugar de la pantalla utilizando un par de coordenadas ( x,y ).