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.
Excelente información! soy estudiante de Ing. Informática Multimedia, y este ha sido uno de los mejores resúmenes de los conceptos de la POO que he visto para complementar mis estudios, saludos!
Muchas gracias