Programación Orientada a Objeto avanzada con xHarbour y Xailer (II).

2.- REPASANDO POO

Antes de meternos en materia es necesario dar un repaso al concepto de Programacion Orientada al Objeto, ya sea para recordarla, ya sea como introducción a los que no saben lo que es.

Antes de nada, buscaremos la definición de Objeto: de todas las definciones, la que más me gusta, por que se acerca bastante a lo que hacemos, es:

Fin o intento a que se dirige o encamina una acción u operación.

Eso está muy bien pero ¿qué es un Objeto? Un objeto es cualquier cosa, siendo cosa cualquier persona, animal, aparato, utensilio, documento o ente imaginario. Un objeto es cualquier cosa que tenga unas propiedades que lo identifiquen y definan y, dependiendo del objeto, que sea capaz de realizar algún tipo de funcionalidad y/o mostrar un comportamiento.

Entonces ¿qué es y para qué sirve la Programación Orientada al Objeto? La POO intenta, por medio de la abstracción, organizar los problemas informáticos igual que se muestran en el mundo real.

2.1 Pensando en Objetos

Un programa tradicional (procedural) ejecutaba una serie de intrucciones de forma secuencial ordenadas siguiendo un modelo lógico,  partiendo de unos datos iniciales y realizando unas operaciones para obtener un resultado. En cambio, un programa realizado en POO, se compone de un cojunto de objetos que intercambian información entre ellos para realizar tareas programadas. Por ejemplo, imaginemos un departamento de facturación donde se realizan las facturas de las ventas efectuadas a los clientes,  el documento “factura” es un objeto que a su vez se comunica con los objetos “cliente” y “linea de factura” para construirse. A su vez, el objeto “linea de factura” se comunicará con el objeto “articulo“.

Objeto Factura

Como podemos ver, esta forma de representar el problema se asemeja más al mundo real que las soluciones obenidas con la programación procedural. Desde este momento (y para siempre) pensaremos en objetos, independientemente de como esté estructurada la información en la base de datos, aunque puede representarse como un objeto, una tabla de una base de datos no es un objeto en el mundo real, por lo que, de momento (por que los datos habrá que guardarlos en algún sitio), nos olvidaremos de las bases de datos y de las tablas.

2.2 Clases y Objetos

Podemos decir que los objetos se crean a partir de otros objetos, dando paso, así, al concepto de Clase de objeto.

¿Qué es una Clase de objeto? Se puede decir que la  Clase es un molde, una especie de estructura que contiene las propiedades y las funcionalidades que son comunes a todos los Objetos de ese tipo. Un objeto de determinada clase se crea cuando se define una variable que lo contendrá; así, al hacer miCliente := Cliente():New(), la variable miCliente contendrá un objeto perteneciente a la clase Cliente().

Al escribir un programa en POO definimos las distintas Clases de objetos, que como ya dije antes, constituye una especie de plantilla o estructura común a varios Objetos de similares características.

2.3 Propiedades y métodos

Un programa orientado a objetos (esto es importante) se compondrá solamente de Objetos, donde cada uno de ellos es independiente del otro y que tendrá cada uno sus propiedades (variables) y sus funcionalidades (métodos). Los objetos de un programa se comunican entre sí a través de sus métodos, de forma que cuando un objeto recibe un mensaje ejecutará el método correspondiente.

Mediante el uso de mensajes los objetos podran cambiar los valores almacenados en sus propiedades; ya sea mediente una acción directa del método o mediante la llamada a otros métodos.

Resumiendo, cuando se ejecuta un programa POO ocurren 3 cosas:

  1. Se crean los objetos
  2. Interactuan unos objetos con otros
  3. Se destruyen los objetos que se han dejado de usar.

2.4 Herencia

Una de las características más importantes de la POO es la herencia de Clases. Mediante este mecanismo es posible construir nuevas clases que contengan los Métodos y Variables de otra clase superior a la que se denomina “Clase padre” y los métodos y variables particulares de la nueva Clase.

Así, por ejemplo, podemo tener una Clase Padre denominada “Sujeto”, que contendrá los métodos y variables comunes; y de la que heredarán las clases “Empleado”, “Proveedor” y “Cliente”:

Herencia
Hasta aquí el repaso de POO. Más adelante repasaremos los conceptos de Polimorfismo y Encapsulación.

Anuncios

6 comentarios

  1. Será siempre dificil compatibilizar objetos con tablas. Son dos concepciones muy diferentes. Aguardo ansioso el próximo artículo y agradezco que compartas este material.

  2. Alf+ Gran Tema para los principiantes que posteamos en el foro de Xailer, gracias por tu gran apoyo.

    Alex
    Mexico

  3. Excelente, muchas gracias por os artículos, esperaré ancioso el siguiente

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: