Parcial I Flashcards
¿Qué es una clase de concurrencia?
Es aquella que tiene la particularidad de que los objetos operan sobre esa clase y esa clase no tiene memoria de ningún tipo. Es decir, es una clase que NO tiene estado y NO tiene atributos. Solo tiene metodos.
¿Qué tiene la clase de consistencia?
Atributos, pero NO va a tener comportamiento.
¿Qué tiene que tener un objeto para que sea objeto?
Identidad, estado y comportamiento.
¿Qué es una pre-condición?
Es una INVARIANTE que esta ASUMIDA por una OPERACIÓN. Si el objeto en su operación esta esperando un “string”, no le puedo pasar un objeto, tengo que pasarle un “string”.
¿Qué es una post-condición?
Es una INVARIANTE que esta sastifcha por una operación. Devuelve lo que dice.
¿Cuales son los 3 tipos de objetos?
- Cliente: consume recursos, pero no provee a nadie
- Servidor: provee, no consume nada
- Agente: provee y consume (ambas)
¿Qué diferencia hay entre agregación y composición?
Los ciclos de vida de la composición entre el COMPONEDOR y los COMPONENTES estan intimamente ligados, cosa que en agregación no.
¿Qué es un constructor?
Es un METODO ESPECIAL que sirve unicamente al MOMENTO de la CONSTRUCCION DEL OBJETO para ESTABLECER el ESTADO INICIAL, osea, establece el estado incial del objeto. JAMAS construye al objeto.
5 metricas para saber si una clase esta bien diseñada
- Bajo acoplamiento: cada cambio debe tener el menor impacto en el resto.
- Altamente cohesivo: objeto sirve para hacer algo especifico.
- Compleción/Completitud: paso/uso el objeto entero, no una parte.
- Suficiencia: el objeto tiene que ser capaz de si misimo de hacer las cosas con la mayor dependencia.
- Ser primitivo: ser resistente al paso del tiempo y/o cambios.
3 tipos de clasificación
- Clasica Aristoterica: desde lo mas general/simple a lo mas complejo/especifico
- Conceptual: desde especifico hacia lo simple
- Prototipos: Clasica y/o conceptual
¿A qué se denomina ligadura dinamica o tardía?
- Ligadura dinamica/tardia: aquella en la cual se conoce el tipo de objeto en tiempo de ejecución.
¿A qué se denomina ligadura estatica/temprana?
Consiste en realizar el proceso de ligadura en tiempo de compilación según el tipo declarado del objeto al que se manda el mensaje
¿Qué diferencia hay entre un metodo abstracto y uno virtual?
El metodo abstracto se hace una clase abstracta y SI o SI se hereda en las clases heredadas, mientras que en un virtual puede ser herededa o no. Ek¿l metodo abstracto NO lleva implementación.
¿Qué es la sobrecarga?
Es cuando cambia la firma (lo que esta adentro de un parentesis de una funcion). Mismo nombre de metodo con diferente firma.
¿Se puede sobrecargar un constructor?
Sí, se puede.