Programacion Orientada a Objetos
LENGUAJES DE PROGRAMACION ORIENTADOS A OBJETO
Oscar Eulate, Marcelo Salas, Freddy Conde, Zenón Huaygua, Felipe Paucara
Universidad Mayor de San Andrés, Postgrado en Informática
Maestría en Ingeniería de Software. 2009.
Trabajo de Investigación
Dra. Yailé Caballero
Resumen
En el presente documento es un análisis de los lenguajes orientados a objetos
Palabras Clave:Objetos, Lenguajes Orientados a Objetos, Programación
Reseña de Lenguajes OO
Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.
Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos quepueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.
Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.
Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobreesos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos.
Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X-Window utilizando infraestructuras de funciones y APIs.Ejemplos de lenguajes orientados a objeto
C++
Objective C
Java
Smalltalk
Eiffel
Lexico (en castellano)
Ruby
Python
OCAML
Object Pascal
CLIPS
Visual .net
Java
Actionscript
COBOL
Perl
C#
Visual Basic.NET
PHP
MATLAB
Características de los Lenguajes Orientados a Objetos
Clases y Objetos
Todos los objetos son ejemplares de una clase.
El método aplicado por un objete enrespuesta a un mensaje queda determinado por la clase del receptor.
Todos los objetos de una clase usan el mismo método en respuesta a mensajes similares.
Objetos de distinta clase pueden responder al mismo mensaje, aunque aplicando distintos métodos (polimorfismo).
Polimorfismo
Antes hemos dicho que objetos de distinta clase pueden responder al mismo mensaje, aunque aplicando distintos métodos,esto es lo que se entiende por polimorfismo.
Es decir, la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos o propiedades denominados de forma idéntica
Herencia
El conocimiento sobre una clase general (superclase o clase base) es aplicable a una clase particular (subclase o clase derivada).
Una superclase abstracta es una clase que se usa sólo paracrear subclases y no tiene ejemplares directos. Excepciones a normas generales de comportamiento: la información contenida en una subclase puede anular información de una superclase.
Enlace de métodos: búsqueda ascendente entre clases, comenzando en la clase receptor, para encontrar un método que responda a un mensaje, si se alcanza la última superclase sin encontrarlo se lanza un mensaje deerror.
Diseño de soluciones OO
Diseñar con objetos implica delegar en otros la responsabilidad de realizar acciones. Dotar de responsabilidad a un objeto implica concederle independencia y, por tanto, no interferir en su funcionamiento. La independencia de los objetos incrementa el esfuerzo dedicado a su diseño. La ventaja será la posibilidad de reutilización.
En POO, ninguna acción se puederealizar si no hay un objeto que se responsable de la misma.
La primera fase del diseño OO debe consistir en establecer los responsables del proceso a realizar. Posteriormente, se asignaran las tareas concretas que cada elemento debe llevar a cabo.
Tipos o Responsabilidades habituales de las Clases:
Gestores o manejadores de datos (clases de datos)
• Mantienen información de datos. Son...
Regístrate para leer el documento completo.