ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Clases Abstractas y Polimorfismo


Enviado por   •  21 de Diciembre de 2022  •  Apuntes  •  1.439 Palabras (6 Páginas)  •  52 Visitas

Página 1 de 6

Fundamentos de Programación para Videojuegos                Fundamentos de Algoritmos

LABORATORIO 7: Clases Abstractas y Polimorfismo

Objetivos:

  • Escribir algoritmos para los casos planteados.
  • Crear los algoritmos usando C#.
  • Utilizar instrucciones de programación.

Equipos, Materiales, Programas y Recursos:

  • PC personal con Windows 10.
  • Material adicional en Tecsup Virtu@l.

Introducción:

Este laboratorio nos permite conocer la importancia de las clases abstractas y el uso de polimorfismo en el paradigma de programación orientado a objetos. Mediante la Programación Orientada a Objetos se desarrollan aplicaciones de gran complejidad modelando la situación problemática real en el software. Se revisan las técnicas básicas y avanzadas para lograr un enfoque adecuado de este paradigma.

Seguridad:

  • Ubicar maletines y/o mochilas en el lugar del aula de Laboratorio destinado para tal fin.
  • No ingresar con líquidos ni comida al aula de Laboratorio.
  • Al culminar la sesión de laboratorio, apagar correctamente la computadora y el monitor.
  • Deberá dejar la mesa de trabajo y la silla que utilizó limpias y ordenadas.

Preparación:

Para ello el alumno previamente deberá haber revisado el material publicado en Tecsup Virtu@l, la participación activa en el transcurso de la clase previa al desarrollo del Laboratorio y así lograr cumplir con los objetivos y metas trazados al final de cada clase.


Procedimiento y Resultados:

Para este laboratorio deberá descargar el entorno de desarrollo Microsoft Visual Studio. Caso contrario, podrá utilizar momentáneamente https://replit.com/~ o https://pastebin.com/ para compartir sus resultados con el docente.

Clases Abstractas

  1. Una clase abstracta es un tipo especial de clase que se utiliza exclusivamente como base para otras clases, ya que no se pueden crear instancias de esta.
  2. Es decir, si se desea utilizar una clase abstracta, la única manera de hacerlo es creando una subclase que herede de ella.
  3. Una clase abstracta puede contener miembros abstractos como no abstractos; sin embargo, todos los miembros deben ser implementados en la clase que la implementa.
  4. Para declarar una clase abstracta, se debe utilizar la palabra reservada “abstract” seguida de la declaración tradicional de una clase.
  5. Para declarar un método abstracto, se debe utilizar la palabra reservada “abstract” seguida del modificador de acceso que se desea asignar. Luego, deberá especificar el tipo de dato que retornará el método o utilizar la palabra reservada “void” en caso no desee retornar nada. Finalmente, deberá especificare el identificador, seguido de los símbolos “()” y “;”.

[pic 1]

  1. Los métodos y las propiedades pueden ser declaradas como abstractas, las variables no.
  2. Al declarar un método o propiedad como abstracto, no se puede utilizar el modificador de acceso privado, ya que de lo contrario las subclases no podrán acceder a estos.
  3. Las subclases deben “sobrescribir” todos los métodos y propiedades abstractas de la clase abstracta de la que hereda. Para sobrescribirlos, deberá incluir la palabra reservada “override” entre el modificador de acceso y el tipo de dato de retorno.

[pic 2]

Polimorfismo

  1. El polimorfismo se conoce como el tercer pilar de la programación orientada a objetos, después de la encapsulación y la herencia. Polimorfismo es una palabra griega que significa "muchas formas" y tiene dos aspectos distintos:
  2. Es la capacidad de implementar propiedades o métodos heredados de maneras diferentes en varias abstracciones.
  3. Las clases base pueden definir e implementar métodos virtuales y las clases derivadas pueden sobrescribirlos, lo que significa que proporcionan su propia definición e implementación.
  4. La palabra reservada “virtual” se usa para modificar una declaración de método o propiedad, indizador o evento y permitir que se sobrescriba en una clase derivada.
  5. Para declarar un método virtual, se debe utilizar la palabra reservada “virtual” entre el modificador de acceso y el tipo de valor que retorna.
  6. Para modificar un método virtual en la subclase, se debe declarar el método con la palabra reservada “override” entre el modificador de acceso y el tipo de valor que retorna. Si no se desea modificar, se puede usar la palabra reservada “base”.

[pic 3]


Ejercicios Resueltos en Clase

1. Usted ha sido contratado en Nethys para desarrollar un videojuego basado en el popular juego de rol Pathfinder 2e. Lo han puesto como jefe del área del sistema de creación de nuevas clases. De cada clase se sabe su nombre, fuerza, destreza, inteligencia, sabiduría y carisma. Le han solicitado probar las dos nuevas clases que se añadirán al juego, las cuales son “Magus” y “Summoner”. La clase “Magus” tiene una manera particular de atacar, ya que puede aplicar magia a sus armas a corta distancia para aplicar más daño. Respecto a la clase “Summoner”, esta ataca a través de una criatura conocida como “Eidolon”, la cual tiene el doble de todos los atributos de su invocador. Cuando un eidolon ataca, utiliza su fuerza y la sabiduría de su invocador. Deberá implementar una interfaz sencilla en consola con las siguientes opciones:

...

Descargar como (para miembros actualizados)  txt (10 Kb)   pdf (271 Kb)   docx (1.3 Mb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com