Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sem12 POO - Sobrecarga Herencia y Polimorfismo en Visual C++
Sem12 POO - Sobrecarga Herencia y Polimorfismo en Visual C++
UNIDADES DE APRENDIZAJE 5
instanciar
instanciar Caja Fuerte
instanciar
Cubo Mágico
Dado
Caja Regalo
Juego Didáctico
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
instanciar
Juego Didáctico
Métodos:
(Funcionalidad)
Dado Armar - Desarmar
Comprar - Vender
abstraer Pesar
Caja Fuerte Calcular_Area
Calcular_Volumen
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
Sobrecarga de Constructores: Cuando un constructor puede tener varias formas de trabajar y recibir parámetros distintos. (2 de 3)
// Implementación de los métodos (constructores y sobrecarga de constructores)
fecha::fecha(int _dia, int _mes, int _anio) {
dia = _dia;
mes = _mes;
anio = _anio; }
fecha::fecha(long _ddmmaaaa) {
dia = (int) _ddmmaaaa / 1000000;
mes = (int)(_ddmmaaaa / 10000) % 100;
anio= (int) _ddmmaaaa % 10000; }
fecha::fecha(string _ddmmaaaa) {
dia = atoi(_ddmmaaaa.substr(0, 2).c_str());
mes = atoi(_ddmmaaaa.substr(2, 2).c_str());
anio= atoi(_ddmmaaaa.substr(4, 4).c_str()); }
void fecha::imprimir() {
cout << "La fecha es : " << dia << "/" << mes << "/" << anio << endl;
}
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
f1.imprimir();
f2.imprimir();
f3.imprimir();
return 0;
}
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
Conceptos:
HERENCIA: Cuando una nueva clase se deriva de otra clase. Su propósito es
extender la funcionalidad de una clase por “reúso automático” de las
definiciones (atributos) y la funcionalidad (métodos) de otra clase.
Por lo tanto, los objetos contendrán los atributos y métodos de todas sus
clases “padres”, además de los de su propia clase.
class persona {
private:
string nombre;
int edad; Declaración de la Clase
public: con sus atributos y métodos
persona(string, int);
void imprimir_persona();
};
void profesor::imprimir_profesor() {
imprimir_persona();
cout << "Codigo Profesor.: " << codigo_profesor << endl;
cout << "Numero de horas.: " << nhoras << endl;
}
void alumno::imprimir_alumno() {
imprimir_persona();
cout << "Codigo Alumno...: " << codigo_alumno << endl;
cout << "Numero ciclo....: " << nciclo << endl;
}
Universidad Nacional de Ingeniería Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
// Programa Principal
int main() {
return 0;
}
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
Conceptos:
POLIMORFISMO: Uso de la misma definición con diferentes tipos de datos.
Es la cualidad que tienen los objetos para actuar de manera distinta ante el
mismo mensaje.
• Sobrecarga de operadores.
• Implementado en el compilador
• Polimorfismo paramétrico: se puede escribir funciones de tal manera que
no se pone restricciones en el tipo de parámetros.
• Polimorfismo de subtipos: la posibilidad de extender o especializar los tipos
de datos.
Universidad Nacional de Ingeniería Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
void persona::imprimir() {
cout << "Nombre..........: " << nombre << endl;
cout << "Edad............: " << edad << endl;
}
void alumno::imprimir() {
persona::imprimir();
cout << "Nota Final......: " << nota_final << endl;
}
Universidad Nacional de Ingeniería Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
// Programa Principal
int main() {
return 0;
}
VEHÍCULO
Animal
Vertebrados Invertebrados
Sangre Sangre
Caliente Fría
Mamíferos Aves
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Curso: MB545 Programación Orientada a Objetos | Profesor: Ing. Roberto Tello Yuen
UNIDADES DE APRENDIZAJE 5