Definición de Conceptos de la Programación Orientada a Objetos POO ó OOP

Definiciones

Objeto

Es un paquete desoftware que contiene una colección de datos y procedimientos relacionados.

En la POO los procedimientos se llaman MÉTODOS y los elementos de datos PROPIEDADES.

En sus PROPIEDADES se expresa todo lo que conoce un objeto y en sus MÉTODOS todo lo que puede hacer.

Cada objeto forma una unidad autocontenida e independiente.

Mensaje

Los objetos software interactúan entre si enviando mensajes que solicitan los métodos que puede realizar el objeto y establecen o devuelven propiedades. Un mensaje es, simplemente, el nombre del objeto seguido del nombre de uno de sus miembros.

El mensaje puede tener tres partes:

  • Nombre del objeto
  • Nombre del miembro (método o propiedad)
  • Valores especificados por los argumentos del miembro

Ejemplo de mensaje de 3 partes:

Clasificacion.Competicion = “L98″

Ejemplo de mensaje de 2 partes:

Clasificacion.Visualizar

POO (Programación Orientada a Objetos)

Los programas Orientados a Objetos constan de un numero de objetos que interactúan entre si pasándose mensajes entre ellos.

Atributos fundamentales de la POO:

  • Encapsulado, es el proceso de combinar datos y procedimientos encadenados lógicamente dentro de una clase/objeto.
  • Abstracción, es el proceso de abstraer lógicamente los datos y procedimientos que están relacionados dentro de una misma clase.
  • Polimorfismo, es un metodo individual que tiene el mismo nombre en distintos objetos y realiza la misma función, aunque su implementación dentro de cada objeto sea distinta.
  • Herencia, es el proceso mediante el cual todas las subclases de una superclase pueden utilizar los miembros de esa superclase/objeto.

En Encapsulado y el Polimorfismo son el corazón de la POO.

Clase

Una clase especifica, de una sola vez, los miembros que pueden incluirse dentro de un tipo particular de objetos. Por ello, cada clase necesita contener sólo los valores particulares o la configuración, que diferencian esa clase de los objetos similares.

Una clase representa el comportamiento de un objeto y es independiente de su implementación.

La interfaz de una clase es el conjunto de propiedades y métodos que contiene.

Módulo

Grupos de Clases y Objetos. La creación de módulos hace sencillo representar un sistema complejo.

CARACTERÍSTICAS DE LA POO

ENCAPSULADO

El objeto es independiente, no contiene variables públicas ni globales y no necesita procedimientos externos para ejecutar su contenido.

Sólo se puede acceder y manejar los datos y el comportamiento de un objeto encapsulado a través de un interfaz público de objeto.

Un objeto encapsulado únicamente se puede comunicar con otro objeto, o con parte del programa, recibiendo y enviando mensajes.

Ventajas del Encapsulado:

  • Protege los datos ante la corrupción que puedan causar otros objetos o partes del programa.
  • Oculta los detalle de implentación compleja al resto del programa.
  • Facilita la depuración y pruebas.
  • Permite la reutilización de los objetos por otros programadores.

ABSTRACCIÓN

Abstracción significa separar el comportamiento de un objeto de su implementación.

Abstraer un objeto de la descripción de un sistema incluye construir una clase para la aplicación. Los demás objetos no pueden comunicarse ni interactuar directamente con la clase, sino que es necesario crear copias de la clase para permitir la interacción y la comunicación.

Ventajas de la Abstracción:

  • Centrarse en las características esenciales de las clases abstraidas
  • Ocultar los detalles de la implementación compleja.
  • Fomentar la reutilización de las clases por otros programadores.

POLIMORFISMO

Posibilidad de ocultar los detalles de la implementación del método de un objeto tras un interface público común.

Ventajas del Polimorfismo:

  • Simplificar el interface público de un objeto.
  • Reduce el tamaño y aumenta la velocidad (?)
  • Promocionar la reutilización del objeto por otros programadores

HERENCIA

La herencia permite definir una o más clases como casos especiales de una clase más general.

La clase más general se llama SuperClase, las clases definidas a partir de ellas se pueden llamar SubClases, ClasesDerivadas o Clases Hijas.

Una subclase puede utilizar todos los miembros de su SuperClase y definir sus propios miembros nuevos.

La herencia aumenta la eficiencia dentro de la SuperClase, porque sólo es necesario programar una vez el comportamiento o los métodos de grandes grupos de objetos.

Existen dos tipos de herencia: simple y múltiple.

Ventajas de la Herencia:

  • Minimizar la programación redundante.
  • Reducir el tamaño y optimizar la velocidad
  • Aumentar la flexibilidad de la programación.

Tags:

About Alex Borrás

Informático, especializado en desarrollo Web con WordPress, Redes Sociales y posicionamiento en buscadores (SEO). Fan de la OOP y como afición jugador de Ajedrez. Geek por vocación & iphonero.

Subscribe

Subscribe to our e-mail newsletter to receive updates.

?????????