Coseptos de poo
Objeto
En su definición más básica, un objeto es una entidad que contiene tanto datos como comportamiento.
Para ilustrarlo, consideremos un Sistema de Empleados que contiene objetos que representan empleados de una compañía.
Datos del objeto
Los datos almacenados dentro de un objeto representan el estado del objeto. En la terminología de la programaciónorientada a objetos, estos datos se llaman atributos. En nuestro ejemplo, algunos atributos pueden ser el Número de Seguridad Social, la fecha de nacimiento, el género, el número de teléfono, etc.
Comportamientos del objeto
El comportamiento de un objeto es lo que el objeto puede hacer. En la terminología de la programación orientada a objetos, estos comportamientos están contenidos en métodos, yusted invoca un método mediante enviarle un mensaje. En el ejemplo del empleado, considere que uno de los comportamientos requeridos para un objeto empleado es establecer (set) y devolver (get) los valores de varios atributos. Por ejemplo, para el nombre del empleado, tendríamos los métodos setNombre(), getNombre().
El código correspondiente en Java se muestra en el Listado 1.
Listado 1. Códigofuente en Java para la clase de la Ilustración 2.
public class Empleado { // Métodos public String getNombre() { return nombre; } public void setNombre(String unNombre) { nombre = unNombre; } // Atributos private String nombre;} |
Clases
Se puede pensar que las clases como plantillas para los objetos, como los moldes para galletas (Vea la Ilustración 3).
Se usa una clase paracrear un objeto. Se puede pensar que una clase es como un tipo de datos de alto nivel.
Encapsulamiento y ocultamiento de datos
Una de las ventajas de usar objetos es que el objeto no necesita revelar todos sus atributos y comportamientos. En un buen diseño orientado a objetos, un objeto debería revelar únicamente las interfaces que otros objetos deben tener para interactuar con él.
Se defineel encapsulamiento como el hecho de que los objetos contienen tanto los atributos como los comportamientos.
Se define el ocultamiento de datos como restringir el acceso a ciertos atributos y/o métodos.
Datos privadosPara que funcione el ocultamiento de datos, todos los atributos deben ser declarados como privados (private). Por lo tanto, los atributos nunca son parte de la interfaz. Únicamentelos métodos públicos son parte de la interfaz de la clase. Declarar un atributo como público (public) viola el concepto de ocultamiento de datos. |
Interfaz de una clase
En la mayoría de los lenguajes orientados a objetos, únicamente los métodos públicos son parte de la interfaz.
Implementación de una clase
Solo los atributos y métodos públicos son considerados como la interfaz. El usuario nodebería ver ninguna parte de la implementación.
Un ejemplo de la vida real del paradigma de interfaz/implementación
La Ilustración 4 muestra el paradigma de interfaz/implementación usando objetos reales más bien que código. La tostadora requiere electricidad. Para obtener esta electricidad, se debe conectar el cable de alimentación de esta tostadora en el contacto eléctrico, que es la interfaz.Todo lo que la tostadora necesita hacer para obtener la electricidad requerida es usar un cable de alimentación que cumpla con las especificaciones del contacto eléctrico; esta es la interfaz entre el tostador y la compañía de electricidad. El hecho de que la implementación real sea mediante una planta que obtenga la electricidad a partir de carbón no es de interés para la tostadora. De hecho,para la tostadora da igual si la implementación es mediante un planta nuclear o un generador local de energía.
Herencia y polimorfismo
Una de las características más poderosas de la programación a orientar objetos es quizás la reutilización del código. La POO le permite definir relaciones entre las clases que faciliten no solamente la reutilización del código, sino también un mejor diseño...
Regístrate para leer el documento completo.