CARACTERÍSTICAS OPCIONALES DE UN LOO
Polimorfismo- Capacidad de una entidad de referenciar elementos de distinto tipo en distintos instantes
- Enlace dinámico
Genericidad
- Definición de clases parametrizadas (templates en C++) que definen tipos genéricos.
- 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 una 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 almacenarobjetos.
Reflexión
- Capacidad de un programa de manipular su propio estado, estructura ycomportamiento.
- 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.
string instr = “cout << 27.2”;
ejecuta(instr+” << endl”);29
Lo ideal es que un lenguaje proporcione el mayor número
posible de las características mencionadas
- Orientación a objetos no es una condición booleana: un lenguajepuede ser ‘más OO’ que otro.
No hay comentarios:
Publicar un comentario