Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lenguajes de Programación Orientados a Objetos, Octavio Ramos Figueroa,…
Lenguajes de Programación Orientados a Objetos
Un programa OO se estructura como una comunidad de agentes que interaccionan (OBJETOS). Cada objeto juega un rol en la solución del problema. Cada objeto proporciona un servicio o realiza una acción que es posteriormente utilizada por otros miembros de la comunidad.
Octavio Ramos Figueroa
Elias Enrique Santos Alavez
Características Básicas de un LOO
Según Alan Kay (1993), son seis:
(1) Todo es un objeto
(2) Cada objeto es construido a partir de otros objetos.
(3) Todo objeto es instancia de una clase
(4) Todos los objetos de la misma clase pueden recibir los mismos mensajes (realizar las mismas acciones). La clase es el lugar donde se define el comportamiento de los objetos y su estructura interna.
(5) Las clases se organizan en una estructura arbórea de raíz única, llamada jerarquía de herencia. P. ej: puesto que un círculo es una forma, un círculo siempre aceptará todos los mensajes destinados a una forma.
(6) Un programa es un conjunto de objetos que se comunican mediante el paso de mensajes.
Características opcionales de un LOO
Polimorfismo: Capacidad de una entidad de referenciar elementos de distinto tipo en distintos instantes p. ej., enlace dinámico
Genericidad: Definición de clases parametrizadas (templates en C++, generics en Java) que definen tipos genéricos. p. ej.: Lista<T> : donde T puede ser cualquier tipo.
Gestión de Errores: Tratamiento de condiciones de error mediante excepciones
Aserciones: Expresiones que especifican qué hace el software en lugar de cómo lo hace:
Precondiciones: propiedades que deben ser satisfechas cada vez que se invoca un servicio
Postcondiciones: propiedades que deben ser satisfechas al finalizar la ejecución de un determinado servicio
Invariantes: aserciones que expresan restricciones para la consistencia global de sus instancias.
Tipado estático: Es la imposición de un tipo a un objeto en tiempo de compilación; Se asegura en tiempo de compilación que un objeto entiende los mensajes que se le envían. Evita errores en tiempo de ejecución
Recogida de basura (garbage collection): Permite liberar automáticamente la memoria de aquellos objetos que ya no se utilizan.
Concurrencia: Permite que diferentes objetos actúen al mismo tiempo, usando diferentes threads o hilos de control.
Persistencia: Es la propiedad por la cual la existencia de un objeto trasciende laejecución del programa. Normalmente implica el uso de algún tipo de base de datos para almacenar objetos.
Reflexión: Capacidad de un programa de manipular su propio estado, estructura y comportamiento; En la programación tradicional, las instrucciones de un programa son ‘ejecutadas’ y sus datos son ‘manipulados’. Si vemos a las instrucciones como datos, también podemos manipularlas.
Referencias:
https://rua.ua.es/dspace/bitstream/10045/18716/1/UD1-IntroPOO.pdf
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro15/11_lenguajes_de_programacin_orientados_a_objetos.html