Está en la página 1de 14

Módulo. Programación NET II Unidad 2.

Programa educativo: Semestre:

Desarrollo de Software Sexto

Módulo: Bloque:

Programación NET II 2

Ciclo escolar: Nombre del docente:

2020-2 Fabián Gálvez González

UNIDAD 2 HERENCIA Y POLIMORFISMO EN EL LENGUAJE DE


PROGRAMACION C#

Competencia de la unidad:
Codifica los conceptos de herencia, interfaces,
polimorfismo y sobre escritura, siguiendo estándares,
sintaxis y mecanismos de operación establecidos por la
tecnología .NET, con el fin de poner en práctica los
elementos de programación orientada a objetos en el
contexto de uno o varios problemas informáticos.

Pág. 2
Módulo. Programación NET II Unidad 2.

Aprendizaje(s)/Logros:
• Entender el concepto de herencia y la forma de construirla dentro de C#.
• Manejar los métodos polimórficos en el contexto de problemas planteados.
• Identificar la utilidad de los métodos polimórficos al construir programas con el
lenguaje C#.
• Identificar la utilidad del uso de interfaces en el contexto de un problema.
• Comprender el concepto de sobreescritura y su importancia en los procesos de
herencia para la programación orientada a objetos en C#.

Actividad:
Actividad 1. Herencia
Tema(s): Escala a considerar y fechas de entrega
2.1. Herencia simple 0-100% 11 al 31 de Octubre, 2020.
2.1.1. Herencia en C# 0-80% 01 al 08 de Noviembre, 2020.
2.1.2. Clases Abstractas 0- 70% Del 09 de Noviembre hasta el cierre
2.1.3. Clases Selladas de plataforma para estudiantes (27
2.1.4. Interfaces Noviembre de 2020, 09:00 A.M.
horas tiempo CDMX)

Estrategia de enseñanza-aprendizaje:
• Aprendizaje basado en investigación: investigar cómo se define la Herencia en el lenguaje
de programación C#.
• Aprendizaje Colaborativo: intercambiar información de las ventajas que tiene la Herencia en
el desarrollo de software.
Logros:
• Identificar las características y alcance de las diferentes clases que se definen en la
Programación Orientada a Objetos.
• Identificar las clases que permiten implementar Herencia en la Programación Orientada a
Objetos.
• Analizar la diferencia entre la herencia múltiple y simple en C#.
Criterios de evaluación:
• Análisis de los elementos de herencia.
• Forma de entrega.
• Trabajo colaborativo.

Nota: Los porcentajes y los indicadores se especifican en la escala de evaluación.

Descripción de la actividad/ indicaciones de la actividad:


1. Investiga la Definición, Uso, Alcance, Características, Sintaxis y un Ejemplo de las siguientes
clases:
a. Clase Normal
b. Clase Abstracta
c. Clase Sellada
d. Clase Interfaz

2. Organiza la información encontrada en la siguiente tabla:

Pág. 3
Módulo. Programación NET II Unidad 2.

Clase Normal Clase Abstracta Clase Sellada Interfaz


Definición
Uso
Alcance
Características
Sintaxis
Ejemplo

3. Investiga el concepto de herencia y sus tipos: simple y múltiple e identifica un caso real donde se
implemente la herencia simple y la herencia múltiple.

4. Integra el desarrollo de tu investigación en un documento de Word.

5. Redacta una conclusión indicando con tus propias palabras las principales semejanzas y
diferencias detectadas.

6. Guarda el archivo de texto con el nombre DPRN2_U2_A1_XXYZ. Sustituye las XX por las dos


primeras letras del primer nombre, la Y por tu apellido paterno y la Z por tu apellido
materno. Convierte tu archivo a formato PDF.

7. Ingresa y comenta en el Foro con subida del archivo y con tus propias palabras participa con las
siguientes preguntas:

¿Qué entiendes por herencia?


¿Cuál es la ventaja de utilizar herencia simple y/o múltiple en un programa?

8. Comenta al menos dos aportaciones de tus compañeros

9. No olvides consultar la Escala de Evaluación de la actividad para que consideres los aspectos a
evaluar.

Producto por entregar:


• Documento con la investigación realizada
• Participación en el foro con subida del archivo

Pág. 4
Módulo. Programación NET II Unidad 2.

Instrumento de evaluación

Instrucciones: Anote en cada casilla los puntos obtenidos por el (la) estudiante en cada criterio por
evaluar.

Puntaje
Puntaje
Criterio de evaluación por Observaciones
obtenido
criterio
1. Análisis de los elementos de herencia

a) Expone todos los conceptos revisados:


clases estándares, abstractas, selladas e
interfaces.
b) Menciona y define correctamente las clases,
así como el alcance y uso de cada una de
ellas mediante ejemplos. 60
c) El cuadro comparativo presenta una
organización adecuada, clara y precisa en
relación con: definición, uso, alcance,
características de las clases.
d) Identifica el uso en la vida real de herencia
simple, múltiple y simple-múltiple.
2. Forma de entrega

a) El documento se encuentra bien organizado,


presenta una estructura adecuada, texto
justificado, expone ordenadamente las ideas
con una alta y directa relación con los
contenidos, sin errores ortográficos. 20
b) Indica las fuentes de consulta.
c) La actividad es entregada en tiempo, conforme
al calendario de actividades establecido y con
la nomenclatura adecuada.

3. Trabajo colaborativo

a) Expone aportes sustentados con base en la


temática de discusión indicada por su
Docente en línea.
b) Sus comentarios al cuadro comparativo de
sus compañeros son fundamentados,
20
acertados y coherentes, tienen estrecha
relación con los comentarios expuestos por
cada uno de ellos.
c) Menciona coincidencias y diferencias entre
sus propias aportaciones y las de sus
compañeros.
Total 100

Pág. 5
Módulo. Programación NET II Unidad 2.

Actividad:
Actividad 2. Herencia mediante C#
Tema(s): Escala a considerar y fechas de entrega
2.1. Herencia simple 0-100% 11 al 31 de Octubre, 2020.
2.1.1. Herencia en C# 0-80% 01 al 08 de Noviembre, 2020.
2.1.2. Clases Abstractas 0- 70% Del 09 de Noviembre hasta el cierre
2.1.3. Clases Selladas de plataforma para estudiantes (27
2.1.4. Interfaces Noviembre de 2020, 09:00 A.M.
horas tiempo CDMX)

Estrategia de enseñanza-aprendizaje:
• Aprendizaje basado en investigación: investigar como implementar las clases abstractas,
clases derivadas e interfaces.
• Aprendizaje orientado a proyectos: el alumno aplicará la herencia a partir de una
problemática específica.
Logros:
• Solucionar un problema en donde sea necesario desarrollar una jerarquía de herencia,
utilizando el lenguaje de programación C#.
Criterios de evaluación:
• Estructura del programa
• Manejo de la jerarquía de clases y datos miembro
• Manejo de clases abstractas, derivadas e interfaces
• Funcionalidad del programa
• Contextualización del concepto de herencia

Nota: Los porcentajes y los indicadores se especifican en la escala de evaluación.

Descripción de la actividad/ indicaciones de la actividad:


1. Considera la siguiente jerarquía de herencia:

2. A partir de esta jerarquía, crea un proyecto C# y construye una clase abstracta llamada Persona,
con lo siguiente:
• Datos miembros protegidos: string Nombre; int Edad; int RFC; char Sexo; double
Sueldo.
• Constructor que recibe los cinco datos y los almacenará dentro de la clase.
• Tres métodos abstractos llamados Actividades, Horario e Información.

Pág. 6
Módulo. Programación NET II Unidad 2.

3. Construir la clase Empleado que hereda de Persona, con lo siguiente:


• Un dato miembro protegido llamado Puesto de tipo string.
• El constructor recibirá los seis datos y llamará a su padre enviándole cinco de ellos y
guardará el Puesto.
• Dar funcionalidad al método abstracto Actividades, y que guarde en un dato miembro de
tipo string protegido, llamado Actividad, la actividad realizada por la clase Empleado.
• Dar funcionalidad al método abstracto Horario, y que guarde en un dato miembro de tipo
string protegido, llamado HorasDeTrabajo. Por ejemplo, un empleado puede trabajar
de “8:00-16:00”.
• Es necesario dar funcionalidad al método Información y mostrar la información de la
clase.

4. Desarrollar la clase JefeDepartamental que herede de Persona, con lo siguiente:


• Un dato miembro protegido llamado Departamento, de tipo string.
• Su constructor recibirá los seis datos y llamará a su padre enviándole cinco de ellos y
guardará el Departamento.
• Dar funcionalidad al método abstracto Actividades, y que guarde en dos datos miembro
de tipo string y privado llamado Actividad1 y Actividad2, donde se guardan las dos
actividades realizadas por la clase JefeDepartamental.
• Dar funcionalidad al método abstracto Horario, y que guarde en dos datos miembro de
tipo string y privados llamados TurnoDeTrabajo1 y TurnoDeTrabajo2. Por ejemplo, un
jefe de departamento puede tener un horario de “8:00-14:00” y de “16:00-18:00”.
• Es necesario dar funcionalidad al método Información y mostrar la información de la
clase.

5. Construye una clase llamada Suspendido que herede de Empleado, con lo siguiente:
• Un dato miembro protegido llamado Puesto de tipo string.
• Su constructor recibirá los seis datos y llamará a su padre enviándole todos ellos.
• Agrega un método llamado Causa que recibirá una cadena indicando la causa de por qué
está suspendido, y lo guardará en un dato miembro privado de tipo string llamado
Suspensión.
• Reescribir el método Información y mostrar la información de la clase.

6. Programa una interfaz llamada Función, con lo siguiente:


• Dos métodos abstractos: uno llamado AgregaJefeInmediato, que recibirá una cadena y
devolverá un void. El otro método se llamará AgregaPuesto, recibirá una cadena y nos
devolverá un void.

7. Construya una clase llamada AsesorInterno que herede de Persona e implemente Función,
con lo siguiente:
• Un dato miembro privado llamado Departamento de tipo string.
• Su constructor recibirá los seis datos y llamará a su padre enviándole cinco de ellos y
guardará el Departamento.
• Dar funcionalidad al método abstracto Actividades y guarda en un dato miembro de tipo
string protegido llamado Actividad, la actividad realizada por la clase AsesorInterno.
• Dar funcionalidad al método abstracto Horario y guarda en un dato miembro de tipo
string protegido llamado HorasDeTrabajo. Por ejemplo, un asesor puede trabajar de
“8:00-16:00”.
• Agrega la funcionalidad al método AgregaJefeInmediato que reciba una cadena y
guarde dentro de una variable de tipo string privada llamada Jefe.

Pág. 7
Módulo. Programación NET II Unidad 2.

• Dar funcionalidad al método AgregaPuesto que reciba una cadena y guarda dentro de
una variable de tipo string privada llamada Puesto.
• El método Información debe mostrar la información de la clase.

8. Programa una clase llamada AsesorExterno que herede de Persona e implemente Función, con
lo siguiente:
• Un dato miembro privado llamado Compañia de tipo string.
• Su constructor recibirá los seis datos y llamará a su padre enviándole cinco de ellos y
guardará la Compañia asesora externa.
• Programar la funcionalidad al método abstracto Actividades, guarda en un dato miembro
de tipo string protegido llamado Actividad, la actividad realizada por la clase
AsesorExterno.
• Dar funcionalidad al método abstracto Horario, guarda en un dato miembro de tipo string
protegido llamado HorasDeTrabajo, pero siempre se va a guardar el mensaje 24 Horas.
• Programa la funcionalidad al método AgregaJefeInmediato que reciba una cadena y
guarde dentro de una variable de tipo string privada llamada Jefe.
• Agregue la funcionalidad al método AgregaPuesto que reciba una cadena y guarde dentro
de una variable de tipo string privada llamada Puesto.
• Da funcionalidad al método Información y muestra la información de la clase.

9. Integra en un documento de texto el desarrollo de tu aplicación, en el cual muestres las capturas


de pantalla de cada uno de los pasos de este proceso.

10. Al concluir tu programa, empaca todo tu proyecto en un archivo comprimido; incluye el documento
de texto (en formato PDF) donde describas el procedimiento realizado.

11. Guarda la actividad con el nombre DPRN2_U2_A2_XXYZ. Sustituye las XX por las dos primeras
letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido.

12. Consulta los criterios de evaluación de la actividad para que los consideres en el desarrollo de la
misma.

13. Envía tu actividad mediante la herramienta Tarea para recibir retroalimentación. Espera y atiende
la retroalimentación correspondiente.

Producto por entregar:


• Proyecto de tipo consola desarrollado con C#
• Documento que describe el desarrollo de la actividad

Pág. 8
Módulo. Programación NET II Unidad 2.

Instrumento de evaluación
Instrucciones: Anote en cada casilla los puntos obtenidos por el (la) estudiante en cada criterio por
evaluar.

Puntaje por
Criterio Puntaje obtenido Observaciones
criterio
1. Estructura del programa
a) Estructura general del programa:
b) El código se encuentra indentado correctamente. 20
c) Integra las clases con la estructura solicitada.
2. Manejo de la jerarquía de clases y datos miembro
a) Construye la jerarquía de clases.
b) Los datos y métodos miembro se utilizan de
forma correcta.
20
c) Construye el objeto o instancia de la clase de
acuerdo con las instrucciones y asigna valores a los
atributos miembro del objeto.
3. Manejo de clases abstractas, selladas e interfaces
a) Construye cada uno de los tipos de clases:
Abstracta, derivada, interfaz.
b) La construcción de los tipos de clases es 30
adecuada conforme a la sintaxis establecida e
instrucciones proporcionadas.
4. Funcionalidad del programa
a) El programa no presenta errores de compilación.
10
b) El programa muestra los resultados esperados.
5. Contextualización del concepto de herencia
a) Incluye un documento de texto con la
explicación del código y la jerarquía desarrollada.
b) Explica el caso
b) Se exponen cada uno de los pasos realizados
20
hasta la ejecución del programa.
c) El documento presenta una estructura adecuada,
expone ordenadamente las ideas e integra capturas
de pantalla.
Total 100

Pág. 9
Módulo. Programación NET II Unidad 2.

Actividad:
Actividad 3. Métodos Polimórficos
Tema(s): Escala a considerar y fechas de entrega
2.2. Polimorfismo en C# 0-100% 11 al 31 de Octubre, 2020.
2.2.1. Métodos Polimórficos 0-80% 01 al 08 de Noviembre, 2020.
2.2.2. Métodos Genéricos 0- 70% Del 09 de Noviembre hasta el cierre
de plataforma para estudiantes (27
Noviembre de 2020, 09:00 A.M.
horas tiempo CDMX)

Estrategia de enseñanza-aprendizaje:
• Aprendizaje basado en investigación: Investigar como se definen los métodos polimórficos y
su utilidad en el desarrollo de software.
• Aprendizaje colaborativo: intercambiar información sobre las ventajas y la importancia de
aplicar el polimorfismo en C#.
Logros:
• Identificar los usos del polimorfismo de métodos mediante ejemplos de uso.
Criterios de evaluación:
• Adecuación a las instrucciones
• Seguimiento a la línea de discusión
• Precisión de las opiniones
• Inserción de las intervenciones y conclusión

Nota: Los porcentajes y los indicadores se especifican en la escala de evaluación.

Descripción de la actividad/ indicaciones de la actividad:


1. Después de revisar el material de estudio de esta unidad, analiza los conceptos de:
• Método polimórfico
• Polimorfismo
• Tipos de Polimorfismo

2. Observa en qué aplicaciones reales son de utilidad los métodos polimórficos, es decir, situaciones
en los cuales pueda plantearse un polimorfismo como solución. Por ejemplo:
• Un objeto coche puede tener el método Conducir sobrecargado (porque éste puede ser
automático, manual o combinado).
• Un objeto celular puede tener el método introducirInformación sobrecargado (porque esto
se puede hacer mediante un teclado qwerty, numérico, etc).

3. A continuación, elige 2 ejemplos en el mundo real y analiza el tipo de método polimórfico al que
corresponde cada uno de tus ejemplos seleccionados.

4. Organiza ésta información en un cuadro comparativo de manera que describas el análisis anterior
detallado.

5. Integra el desarrollo de tu actividad en un documento y guárdalo con el nombre


DPRN2_U2_A3_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por
tu primer apellido y la Z por tu segundo apellido. Convierte tu documento a un archivo PDF.

Pág. 10
Módulo. Programación NET II Unidad 2.

6. Consulta los criterios de evaluación de la actividad para que los consideres en el desarrollo de la
misma.

9. Publica tu aporte en este foro y redacta en el cuadro de texto una breve reseña de tu actividad no
mayor a cinco renglones y a continuación adjunta tu archivo.

Producto por entregar:


• Documento que describe el desarrollo de la actividad
• Participación en el foro con comentarios a sus compañeros

Instrumento de evaluación
Instrucciones: Anote en cada casilla los puntos obtenidos por el (la) estudiante en cada criterio por
evaluar.

Puntaje
Puntaje
Criterio por Observaciones
obtenido
criterio
1. Adecuación a las instrucciones

a) Identifica adecuadamente tres ejemplos donde sean de utilidad los


métodos polimórficos.
b) Expone el ejemplo seleccionado que aporta mayores elementos 55
sobre el tema de polimorfismo. Este es diferente a lo expuesto
previamente en el foro por sus compañeros(as)

2. Seguimiento a la línea de discusión


a) Contribuyó con algún comentario en por lo menos dos de las
participaciones de sus compañeros(as) respecto a la pertinencia de los
ejemplos.
15
b) Aporta nuevas ideas a la discusión y establece conexiones con
profundidad y detalle.
c) Hay coherencia con las aportaciones de los otros compañeros.
3. Precisión de las opiniones
a) Aporta citas textuales y se refleja claramente lo que es propio de lo
que es citado.
15
b) Cita las ideas de los compañeros. Da información sustancial sobre el
tema.
4. Inserción de las intervenciones y conclusión
a) Las aportaciones son breves y precisas, predomina el contenido más
que la cantidad y en cada intervención profundiza en el tema de
discusión. 15
b) Con base en las aportaciones, elabora una conclusión del tema y
deja su evidencia en el foro.
Total 100

Pág. 11
Módulo. Programación NET II Unidad 2.

Actividad:
Evidencia de Aprendizaje. Herencia simple, polimorfismo y
sobreescritura
Tema(s): Escala a considerar y fechas de entrega
2.3. Sobreescritura en C# 0-100% 11 al 31 de Octubre, 2020.
2.3.1. Modificador Virtual 0-80% 01 al 08 de Noviembre, 2020.
2.3.2. Modificador Override 0- 70% Del 09 de Noviembre hasta el cierre
de plataforma para estudiantes (27
Noviembre de 2020, 09:00 A.M.
horas tiempo CDMX)

Estrategia de enseñanza-aprendizaje:
• Aprendizaje basado en problemas: el alumno analizará un caso planteado, teniendo como
reto encontrar la mejor solución.
• Aprendizaje orientado a proyectos: el alumno desarrollará un programa orientado a objetos
que dé solución al caso planteado.
Logros:
• Desarrollar un programa en C# con base en un caso donde se apliquen los conceptos
desarrollados en la unidad.
Criterios de evaluación:
• Estructura del programa
• Manejo de la jerarquía de clases y datos miembro
• Manejo de clases abstractas, derivadas e interfaces
• Manejo de polimorfismo y sobreescritura
• Funcionalidad del programa

Nota: Los porcentajes y los indicadores se especifican en la escala de evaluación.

Descripción de la actividad/ indicaciones de la actividad:


1. Desarrolla una clase abstracta llamada Cuenta, con lo siguiente:
• Debe tener tres miembros protegidos: número, tipo y saldo.
• Un constructor que guardará el número, tipo y saldo.
• Desarrolla un método virtual llamado Intereses que devuelve un void. Este método
calculará el nuevo saldo y lo imprimirá. Recibirá como parámetro un double llamado
Interes, monto que debe descontarse del saldo.

2. Define una clase llamada CuentaMaestra que herede de Cuenta, con lo siguiente:
• Tendrá dos miembros privados, llamados chequera y comisión.
• Definir un constructor que llamará a su constructor padre con los tres datos que heredó
(numero, tipo, saldo) y guardará los otros dos, chequera y comisión.
• Reescribir el método Intereses que, además de descontar el monto recibido de interés,
restará la comisión.
• Agregar dos métodos polimórficos, ambos llamados cerrarCuenta. El primero de ellos
recibirá un parámetro de tipo cadena con el motivo de la cancelación (será un texto
descriptivo), el segundo método recibirá un número entero que indicará el motivo, según
la siguiente tabla:

Número Motivo
1 Sobregiro

Pág. 12
Módulo. Programación NET II Unidad 2.

2 Indicación de la gerencia
3 Defunción del cuentahabiente

• En ambos métodos se imprimirá en pantalla el saldo actual de la cuenta seguido por el


motivo de la cancelación.

3. Reescribir una clase llamada Inversión que herede de Cuenta, con lo siguiente:
• Tendrá dos datos privados de tipo string llamados fechaDeInversion y tipoDeInversion.
• Definir un constructor que llamará a su constructor padre con los tres datos que heredó
(numero, tipo, saldo); guardará sus dos datos fechaDeInversion y tipoDeInversion.
• Reescribir el método Intereses, pero en este caso sumará el interés al saldo.

4. Integra en un documento de texto el desarrollo de tu aplicación, en el cual muestres las capturas


de pantalla de cada uno de los pasos de este proceso.

5. Al concluir tu programa, empaca todo tu proyecto en un archivo comprimido; incluye el documento


de texto (en formato PDF) donde describas el procedimiento realizado.

6. Guarda la actividad con el nombre DPRN2_U2_EA_XXYZ. Sustituye las XX por las dos primeras
letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido.

7. Consulta los criterios de evaluación de la actividad para que los consideres en el desarrollo de la
misma.

8. Envía tu actividad mediante la herramienta Tarea para recibir retroalimentación. Espera y atiende
la retroalimentación correspondiente.

Producto por entregar:


• Proyecto de tipo consola desarrollado con C#
• Documento que describe el desarrollo de la actividad

Pág. 13
Módulo. Programación NET II Unidad 2.

Instrumento de evaluación
Lista de cotejo
Carrera: Desarrollo de Software
Asignatura: Programación net II
Semestre: 6
Unidad: 2. Herencia y polimorfismo en el lenguaje de programación C Sharp
Evidencia de Herencia simple, polimorfismo y sobre-escritura
aprendizaje:

Sí No
Criterios Puntaje
Aparece Aparece

1. Construye la clase abstracta con datos miembro 5

2. Integra un constructor 10

3. Integra métodos virtuales 10

4. Construye clases con características de herencia 10

5. Integra métodos polimórficos 10

5. Otorga funcionalidad a su objeto 10

6. Muestra la funcionalidad correcta del objeto 15

7. Muestra el procedimiento en un archivo de texto 15

8. Comprende los conceptos: expone el procedimiento realizado


integrando todos los pasos en un documento de texto mediante
capturas de pantalla de cada uno de los pasos: construcción del 15
objeto, asignación de atributos, ejecución del programa,
resultados.*(Consultar la rúbrica de evaluación de este
documento)

Puntaje total 100

Pág. 14

También podría gustarte