Programacion Orientada Objetos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,45 KB

Similitudes y/o diferencias entre método abstracto y método virtual.

Ambos tienen enlace dinámico. Un método abstracto carece de implementación

¿Por qué el destructor de una clase abstracta debe tener enlace dinámico?

Para posibilitar la destrucción correcta de un objeto de clase derivada a través de una variable polimórfica de clase base. Ejemplo: A* v = new B; delete v; Si el destructor de A no es virtual, solo invocará al destructor de A. Siendo virtual invocará también al destructor de B.

Dos formas de uso no seguro de la herencia.

Generalización: Uso inverso de la herencia, para generalizar y no para especificar.
Restricción: No todas las propiedades de la clase base son propiedades de la clase derivada.

¿Qué características debe tener una clase en c++ para ser considerada una interfaz?

Todos sus métodos deben ser abstractos y públicos. No debe tener variables de instancia. Sólo pueden tener variables estrictas constantes.

Diferencias entre agregación y composición.

En una agregación los objetos ‘parte’ no son destruidos si se destruye el objeto ‘todo’, mientras que en la composición sí.

¿Qué desventaja tiene reutilizar el operador de asignación frente a implementar el constructor de copia de forma independiente?

Cuando se implementa el constructor de copia reutilizando el operador de asignación, el operador de asignación volverá a inicializarse de nuevo.

Diferencia entre redefinición y sobrecarga

Redefinición se da dentro de jerarquías de herencia, sobrecarga no implica jerarquía herencia.

Diferencia entre sobre escritura y shadowing

Sobre escritura: Jerarquía herencia y enlace dinámico.
Shadowing: Jerarquía Herencia y enlace estático

En qué casos es obligatoria la definición de una clase en forma canónica.

Obligatorio para asegurar el correcto manejo de la memoria dinámica.

Tres usos de la palabra reservada const

Miembros constantes, objetos constantes, operaciones constantes.

Diferencias entre constructor y una función miembro ordinaria

Constructor no devuelve nada.
Constructor crea o inicializa instancias.
Un constructor se llama siempre igual que la clase.
En la herencia el constructor no se hereda.
Un constructor está siempre presente en la clase.

Entradas relacionadas: