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.
¿Se heredan los constructores?
No, no se heredan.
¿Como se llama aquella clase que puede tener instancias, pero no puede heredarse?
Se llama clase sellada (SEALED).
¿Qué es la operación de una clase?
La operación de una clase son los GET y SET (hablando dentro de C#). Una operación sirve para proporcionar el encapsulamiento y brinda el control de acceso.
¿Que tipos de herencia existen? ¿Cuales proporciona el framework de .NET?
Herencia simple (solo en una clase) y multiple (hereda 1 o más clases). El framework .NET solo proporciona la herencia unica.
¿Para que sirven los destructores?
Se ejecuta cuando se esta por destruir un objeto. Libera los recursos que utiliza el objeto en memoria.
¿Que tienen en comun la agregación y composición?
Tienen contención fisica.
¿Que es el contrato?
Es la frontera que hay entre el cliente y el objeto servidor.
Una clase abstracta, ¿puede tener constructor?
Puede tener ya que el constructor es para establecer el estado incial.
¿Como se conoce a la estructura de herencia?
Se conoce a la estrucutra jerarquica como generalizacion/especializacion
¿Qué tiene un objeto?
Un objeto tiene una INSTANCIA DE CLASE la cual va a tener un TIEMPO DE VIDA y un ESPACIO EN MEMORIA.
¿Que es una clase?
Una clase representa las caracteristicas del objeto para construirlo. Viene de la palabra “CLASIFICAR”
¿Qué significa instanciar?
Significa materializar el objeto, la puesta en marcha
¿Que significa NULL?
Es una constante del SO la cual dice que NO apunta a ningun otro lugar
¿Que es un puntero?
Elemento que apunta a otra dir en memoria
¿Qué elementos tienen los objetos?
Tienen 3 cosas:
- Identidad: lo diferencia de otro objeto en un entorno, lo hace unico.
- Estado: es el valor que va a tener cada atributo en una instancia.
- Comportamiento: acciones/reacciones (metodos) del objeto que puede hacer. Eventos == reacciones.
¿Cual es la diferencia entre una funcion y un procedimiento?
La funcion devuelve un valor mientras que un procedimiento no devuelve nada.
¿Qué es la abstracción?
Es el proceso de la ignorancia selectiva de la cual YO me extraigo de los detalles
¿Qué es el encapsulamiento?
Es el acceso al atributo (dato) de forma indirecta.
¿Qué permite el polimorfismo?
Permite cambiar el detalle de implementación
¿Qué tipos de visibilidad hay?
- Protegido: La herencia la puedo ver
- Privado: nace y muere con la clase
- Publico: todos los ven
Clase SEALED (sellada)
Instancia, pero no hereda
Clase concretas
Instancia y heredan
¿Qué es una herencia?
Es una estructura de generalizacion a especializacion