SlideShare una empresa de Scribd logo
Taller No.3 Programación II

1)Como los alumnos son personas, quiero que modifiquen la clase
Empleado, de forma que refleje ese hecho, haganlo teniendo en cuenta los atributos que vimos en
clase.
Comprueben las diferentes modos de acceso (público,privado y protegido) de atributos y métodos con
los diferente modos de derivación (pública y privada) y hagan un cuadro donde denoten para cada
posible combinación que sucede.
Ojo: Cuando hagan la implementación, recuerden que en el archivo “alumno.h” deben incluir el archivo
“persona.h” porque como Alumno hereda de Persona entonces el compilador va a buscar esa
información y no la encuentra,por eso se debe incluir.

2) Ahora defina en la clase alumno un atributo profesor que es de la clase persona, y redefina todos los
metodos de la FCO y adicione los antecedentes y mutadores necesarios.


3) Ahora que hemos introducido el mecanismo de herencia debemos ver cómo afecta al mecanismo de
paso de mensajes.
Cuando a un objeto se le pasa un mensaje:
1. Se busca en la clase del objeto un método definido con ese nombre mensaje. Si se encuentra y el
número y tipo de los argumentos proporcionados en el paso de mensaje concuerdan, se ejecuta ese
método y termina el proceso.
2. Si en la clase del objeto no hay ningún método definido con ese nombre mensaje, o si el número
y tipo de los argumentos no concuerda, se busca en la superclase inmediata. Si se encuentra, se ejecuta
y termina el proceso; si no, se busca en la siguiente superclase (subiendo por la jerarquía).
3. Si en el proceso de búsqueda del método se llega hasta la clase superior de la jerarquía y tampoco se
encuentra allí, entonces el objeto no entiende el mensaje.
Agregue el siguiente método en la clase Persona:

void Persona::felizCumple() {
_edad++;
cout << "Registro actualizado:" << endl;
mostrar();
}

Que pasa cuando a un objeto de la clase Alumno, se le envia el mensaje felizcumple()???
Investigue sobre las funciones miembro virtuales.

4) Compatibilidad entre objetos de distintas clases:
Todos los alumnos son personas, pero no todas las personas son alumnos.
A un identificador de la clase Persona (superclase) se le puede asignar un objeto de la clase Alumno
(subclase), pero a un identificador de la clase Alumno (subclase) no se le puede asignar un objeto de
la clase Persona (superclase)
Ejecute el siguiente codigo por partes, es decir primero unicamente con la primera asignación y luego
ejecutelo solo con la segunda asignación y responda las preguntas , obviamente para ambos casos
deben estar declarados los objetos unaPersona y unAlumno.

Void main()
{
Persona unaPersona;
Alumno unAlumno;

unaPersona = unAlumno; // Que pasa aquí???
// Recuerde que todos los alumnos son personas
unAlumno = unaPersona; //Y Que pasa aquí?
// Recuerde que no todas las personas son alumnos
}

5) Regla general de compatibilidad entre objetos:
A un identificador de una clase sólo se le pueden asignar objetos de esa clase o de cualquiera de sus
subclases.
Esta compatibilidad resulta muy útil cuando se quieren manejar listas de objetos: basta declarar un
array de objetos de la superclase y podremos asignar a las distintas posiciones del array objetos de esa
clase y de cualquiera de las subclases.

Ahora pruebe lo siguiente y defina el siguiente codigo:
void main()
{
Persona p("Use los parámetros del constructor parametrizado");
Alumno al("Use los parámetros del constructor parametrizado”);
al.mostrar();
cout << endl;
p = al;
// ahora p es igual a al (el alumno)
p.mostrar();
}

Que sucede al ejecutar la última instrucción???

Más contenido relacionado

PPTX
Clase y Herencia en VB
PPTX
Instructoria de Herencia en java
PPTX
Conceptos POO PV
PPTX
08 Herencia
PPT
Herencia - Programación Orientada a Objetos
PPTX
Herencia
PDF
10.herencia en c++
PDF
Cuestionario cevallos
Clase y Herencia en VB
Instructoria de Herencia en java
Conceptos POO PV
08 Herencia
Herencia - Programación Orientada a Objetos
Herencia
10.herencia en c++
Cuestionario cevallos

La actualidad más candente (20)

PPTX
Que es una clase en java
ODP
Proyecto PCJ. Tema.8. Clases Internas.
PPTX
Herencia poo
PPT
Constructor Y Destructor
DOCX
Cuestionario poo
PPT
Poo 3 herencia
PPTX
Doc.construccion del conocimiento.
PPTX
Clases Objetos y Herencia
PDF
(9915)herencia
PDF
Poo en java herencia
PPTX
Presentacion de clases en c#
PDF
Abstracción
PPT
1 2 2 Relaciones Entre Clases
 
PPT
Programación Orientada a Objetos
PPTX
Programación Orientada a Objetos - herencia y polimorfismo
PPT
PPT
8. técnicas de escritura de códigos
PPT
Clases Anidadas en java
PPT
Clases Anidadas
PDF
Aprendiendo objetos en c++
Que es una clase en java
Proyecto PCJ. Tema.8. Clases Internas.
Herencia poo
Constructor Y Destructor
Cuestionario poo
Poo 3 herencia
Doc.construccion del conocimiento.
Clases Objetos y Herencia
(9915)herencia
Poo en java herencia
Presentacion de clases en c#
Abstracción
1 2 2 Relaciones Entre Clases
 
Programación Orientada a Objetos
Programación Orientada a Objetos - herencia y polimorfismo
8. técnicas de escritura de códigos
Clases Anidadas en java
Clases Anidadas
Aprendiendo objetos en c++
Publicidad

Destacado (6)

PPS
Programacion
PPTX
Clase 1 Lenguaje C++
DOCX
Informe de programacion
PDF
Informe Proyecto Programación lineal
PPT
Presentación trabajo programación
DOCX
Método para el desarrollo de un informe de proyecto
Programacion
Clase 1 Lenguaje C++
Informe de programacion
Informe Proyecto Programación lineal
Presentación trabajo programación
Método para el desarrollo de un informe de proyecto
Publicidad

Similar a Taller3 Programacion Ii (20)

PDF
Apunte paradigma orientado a objetos
PDF
Guia poo php
DOCX
PLANIFICACION SEMANA 3 DE PROGRAM Y BASE DE DATS SEGUNDO T1 T2.docx
PDF
Unidad 2 poo_clases_y_objetos
PDF
U8.- Programacion Orientada a objetos II (2).pdf
DOCX
Guía Herencia PO_O
PDF
Memch clases lep ii
DOCX
Herencia en java
PDF
PPTX
Conceptos basicos
DOCX
Cesar adrian barrios alarcon unidad 2
PDF
Lenguaje de Programación Orientada a Objetos
PPTX
Guia poo
DOCX
Cuestionario poo
PPTX
Conceptos basicos POO
DOCX
Herencia y Polimorfismo en Java
PDF
Programacion 2- Clase 7 python orientado a objetos
PDF
Velasco lopez investigacion_clases2
PPTX
java (clases,herencias,encapsulamiento,.. )
PDF
03 java poo_parte_2
Apunte paradigma orientado a objetos
Guia poo php
PLANIFICACION SEMANA 3 DE PROGRAM Y BASE DE DATS SEGUNDO T1 T2.docx
Unidad 2 poo_clases_y_objetos
U8.- Programacion Orientada a objetos II (2).pdf
Guía Herencia PO_O
Memch clases lep ii
Herencia en java
Conceptos basicos
Cesar adrian barrios alarcon unidad 2
Lenguaje de Programación Orientada a Objetos
Guia poo
Cuestionario poo
Conceptos basicos POO
Herencia y Polimorfismo en Java
Programacion 2- Clase 7 python orientado a objetos
Velasco lopez investigacion_clases2
java (clases,herencias,encapsulamiento,.. )
03 java poo_parte_2

Más de luzenith_g (20)

PPTX
Formacion y crecimiento
PPTX
Formacion y crecimiento
PPTX
Carácterísticas técnicas de las wikis
PPTX
Web 2 0
PPT
DOCX
Ejercicios Ada
DOCX
Ejercicios Ada
DOCX
Proyecto Unal2009 2
PPT
Algoritmos Voraces (Greedy)
PPT
Algoritmos Greedy
PPT
Resumen
PPT
Clase3 Notacion
PPT
Analisis Clase2
PPT
Introducción al Análisis y diseño de algoritmos
DOC
Como construir un DSS
PPT
Mergesort
PPT
State Space Search(2)
PPT
DSS:Conceptos, metodologias y Tecnologias
PPT
Soporte a las Decisiones Computarizado
PPT
Decision Support Systems
Formacion y crecimiento
Formacion y crecimiento
Carácterísticas técnicas de las wikis
Web 2 0
Ejercicios Ada
Ejercicios Ada
Proyecto Unal2009 2
Algoritmos Voraces (Greedy)
Algoritmos Greedy
Resumen
Clase3 Notacion
Analisis Clase2
Introducción al Análisis y diseño de algoritmos
Como construir un DSS
Mergesort
State Space Search(2)
DSS:Conceptos, metodologias y Tecnologias
Soporte a las Decisiones Computarizado
Decision Support Systems

Último (20)

PDF
Habilidades sociales en la era digital (25-2))
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
biología es un libro sobre casi todo el tema de biología
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PPTX
Guía Esencial para Empleadores - Cumplimiento con el IESS
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
JESUCRISTO ESTÁ EN LA TIERRA
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
Habilidades sociales en la era digital (25-2))
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Cosacos y hombres del Este en el Heer.ppt
Punto Critico - Brian Tracy Ccesa007.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
biología es un libro sobre casi todo el tema de biología
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Guía Esencial para Empleadores - Cumplimiento con el IESS
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
JESUCRISTO ESTÁ EN LA TIERRA
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Lección 6 Escuela Sab. A través del mar rojo.pdf

Taller3 Programacion Ii

  • 1. Taller No.3 Programación II 1)Como los alumnos son personas, quiero que modifiquen la clase Empleado, de forma que refleje ese hecho, haganlo teniendo en cuenta los atributos que vimos en clase. Comprueben las diferentes modos de acceso (público,privado y protegido) de atributos y métodos con los diferente modos de derivación (pública y privada) y hagan un cuadro donde denoten para cada posible combinación que sucede. Ojo: Cuando hagan la implementación, recuerden que en el archivo “alumno.h” deben incluir el archivo “persona.h” porque como Alumno hereda de Persona entonces el compilador va a buscar esa información y no la encuentra,por eso se debe incluir. 2) Ahora defina en la clase alumno un atributo profesor que es de la clase persona, y redefina todos los metodos de la FCO y adicione los antecedentes y mutadores necesarios. 3) Ahora que hemos introducido el mecanismo de herencia debemos ver cómo afecta al mecanismo de paso de mensajes. Cuando a un objeto se le pasa un mensaje: 1. Se busca en la clase del objeto un método definido con ese nombre mensaje. Si se encuentra y el número y tipo de los argumentos proporcionados en el paso de mensaje concuerdan, se ejecuta ese método y termina el proceso. 2. Si en la clase del objeto no hay ningún método definido con ese nombre mensaje, o si el número y tipo de los argumentos no concuerda, se busca en la superclase inmediata. Si se encuentra, se ejecuta y termina el proceso; si no, se busca en la siguiente superclase (subiendo por la jerarquía). 3. Si en el proceso de búsqueda del método se llega hasta la clase superior de la jerarquía y tampoco se encuentra allí, entonces el objeto no entiende el mensaje. Agregue el siguiente método en la clase Persona: void Persona::felizCumple() { _edad++; cout << "Registro actualizado:" << endl; mostrar(); } Que pasa cuando a un objeto de la clase Alumno, se le envia el mensaje felizcumple()??? Investigue sobre las funciones miembro virtuales. 4) Compatibilidad entre objetos de distintas clases: Todos los alumnos son personas, pero no todas las personas son alumnos. A un identificador de la clase Persona (superclase) se le puede asignar un objeto de la clase Alumno (subclase), pero a un identificador de la clase Alumno (subclase) no se le puede asignar un objeto de la clase Persona (superclase) Ejecute el siguiente codigo por partes, es decir primero unicamente con la primera asignación y luego ejecutelo solo con la segunda asignación y responda las preguntas , obviamente para ambos casos deben estar declarados los objetos unaPersona y unAlumno. Void main() { Persona unaPersona; Alumno unAlumno; unaPersona = unAlumno; // Que pasa aquí???
  • 2. // Recuerde que todos los alumnos son personas unAlumno = unaPersona; //Y Que pasa aquí? // Recuerde que no todas las personas son alumnos } 5) Regla general de compatibilidad entre objetos: A un identificador de una clase sólo se le pueden asignar objetos de esa clase o de cualquiera de sus subclases. Esta compatibilidad resulta muy útil cuando se quieren manejar listas de objetos: basta declarar un array de objetos de la superclase y podremos asignar a las distintas posiciones del array objetos de esa clase y de cualquiera de las subclases. Ahora pruebe lo siguiente y defina el siguiente codigo: void main() { Persona p("Use los parámetros del constructor parametrizado"); Alumno al("Use los parámetros del constructor parametrizado”); al.mostrar(); cout << endl; p = al; // ahora p es igual a al (el alumno) p.mostrar(); } Que sucede al ejecutar la última instrucción???