Subido por morenomaycol2

CompleteEjercicio Herencia

Anuncio
UNIVERSIDAD NACIONAL AUNTONOMA DE NICARAGUA
UNAN-LEÒN
FACULTAD DE CIENCIA Y TECNOLOGIA
Carrera: Ingeniería en Tecnologías de la Información y
Comunicación con Énfasis en Desarrollo Web y Marketing Digital
Componente: Técnica de Programación Orientada a Objetos II
Temática: Ejercicio Propuesto – Herencia en C #
Docente: Msc. Juan Carlos Antón
Integrante: Grupo “B”
 Tomás Antonio Silva Paiz
Fecha: 23 de Noviembre de 2020
León, Nicaragua
ENUNCIADO DEL PROBLEMA
La clase Animal es una clase con cuatro atributos miembros protected:
1. Un String indicando la especie (león, águila, abeja),
2. Un String indicando el nombre del animal concreto (Simba, Maya, RinTinTin).
3. Un double indicando el peso el kg.
4. Un int indicando el número de jaula que se asigna al animal.
Además, la clase Animal declara un método virtual queClaseDeAnimalEres() que habrá
que definir en las clases derivadas.
La clase Mamifero no añade nuevos atributos miembro, aunque deberá implementar el
método
queClaseDeAnimalEres().
La clase Ave tiene dos nuevos atributos protected:
A. Un String colorPlumaje indicando el color predominante y
B. Un double indicando la alturaMaximaVuelo.
La clase Insecto tiene un nuevo atributo miembro protected de tipo boolean llamada vuela
que indica
si el insecto vuela o no.
Para realizar este ejercicio se pide lo siguiente:
A. Crear las cuatro clases indicadas, con los correspondientes constructores y sobre
carga de constructores, Como ayuda, se indica que el orden de los argumentos en el
constructor parametrizado de la clase base es:
public Animal(String especie, String nombre, double peso, int jaula){...}
B. Definir los métodos llamados queClaseDeAnimalEres( ) en cada una de las clases
derivadas de Animal. Este método no tiene valor de retorno (es void) ni argumentos.
Debe ser capaz de mostrar por la pantalla la información correspondiente al animal de
que se trate (ver el ejemplo), utilizando para ello la información almacenada en las
variables miembro.
CODIGO FUENTE
Animal.cs
using System;
namespace MAnimal
{
class Animal//Clase Base
{
// Atributos protegidos solo son visibles en las clases derivadas.
protected string especie;
protected string nombre;
protected double peso;
protected int jaula;
// Los miembros públicos son visibles en las clases derivadas
//y forman parte de la interfaz pública de dichas clases.
// Complete las propiedades
public string Especie
{
}
public string Nombre
{
}
public double Peso
{
}
public int Jaula
{
}
//Constructor por omisión (sin parámetros) de la clase base
public Animal()
{
Console.WriteLine("DATOS DEL ANIMAL : ");
Console.Write("Nombre : ");
Nombre = Console.ReadLine();
Console.Write("Especie: ");
Especie = Console.ReadLine();
Console.Write("Peso en kg: ");
Peso = double.Parse(Console.ReadLine());
Console.Write("No de Jaula: ");
Jaula = int.Parse(Console.ReadLine());
}
//Constructor con parámetros COMPLETE
public Animal(string espe, string nom, double pes, int jaul)
{
}
//Método puede ser Invalidado por una clase derivada porque está marcado como
**virtual**
public virtual void QueclasedeanimalES()
{
Console.WriteLine("Soy un mamifero llamado: " + Nombre);
Console.WriteLine("de la especie: " + Especie);
Console.WriteLine("Peso en kg: " + Peso);
Console.WriteLine("Estoy en la jaula: " + Jaula);
}
}
}
Mamifero.cs
using System;
namespace MAnimal
{
class Mamifero : Animal //Clase Mamifero derivada de la Clase Base **Animal**
{
// Atributos protegidos solo son visibles en las clases derivadas.
protected string tipoMamifero;
// Los miembros públicos son visibles en las clases derivadas
//y forman parte de la interfaz pública de dichas clases.
public string TipoManifero
{
get { return tipoMamifero; }
set { tipoMamifero = value; }
}
//Constructor que llama a la versión de la clase base antes de ejecutar su
código
COMPLETELO
public Mamifero(string espe, string nom, double pes, int jaul) : base(espe,nom,p
es,jaul)
{
}
//Se invalida el método definido en la clase base con el objetivo de redifinir o
reutilizarlo COMPLETELO
public override void QueclasedeanimalES()
{
Console.ReadKey();
}
}
}
Ave.cs
using System;
namespace MAnimal
{
class Ave : Animal //Clase Ave derivada de la Clase Base **Animal**
{
// Atributos protegidos solo son visibles en las clases derivadas.
protected string colorplumaje;
protected double alturamaximavuelo;
// Los miembros públicos son visibles en las clases derivadas
//y forman parte de la interfaz pública de dichas clases.
public string Colorplumaje
{
}
public double Alturamaximavuelo
{
}
//Constructor que llama a la versión de la clase base**Animal** antes de ejecutar
su código
public Ave(string espe, string nom, double pes, int jaul) : base(espe, nom, pes, ja
ul)
{
}
//Se invalida el método definido en la clase base con el objetivo de redifinir o
reutilizarlo
public override void QueclasedeanimalES()
{
}
}
}
Insecto.cs
using System;
namespace MAnimal
{
class Insecto : Animal//Clase Insecto derivada de la Clase Base **Animal**
{
// Atributos protegidos solo son visibles en las clases derivadas.
protected bool vuela;
// Los miembros públicos son visibles en las clases derivadas
//y forman parte de la interfaz pública de dichas clases.
public bool Vuela
{
}
//Constructor que llama a la versión de la clase base **Animal** antes de ejecutar
su código
public Insecto(string especie, string nombre, double peso, int jaula)
: base(especie, nombre, peso, jaula)
{
int valor = 0;
Console.WriteLine("Vuela Si=1 ó No=0: ");
valor = int.Parse(Console.ReadLine());
if (valor == 1)
Vuela = true;
else
Vuela = false;
}
//Se invalida el método definido en la clase base con el objetivo de redifinir o
reutilizarlo
public override void QueclasedeanimalES()
{
}
}
}
Program.cs
using System;
namespace MAnimal
{
class Program
{
public static void Main(string[] args)
{
// Haga uso de un menu de opciones para darle vida a su programa y actue de
manera normal
int OpcionMENU;
do
{
// Opciones del MENU
Console.Clear();
Console.Write("Menu de Opciones: \n" +
"1.- Datos del Mamifero\n" +
"2.- Datos de la Ave\n" +
"3.- Datos del Insecto \n" +
"4.- SALIR==>>: ");
OpcionMENU = Convert.ToInt32(Console.ReadLine());
switch (OpcionMENU)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
Console.WriteLine("Ingrese una OPCION VALIDA");
break;
}
} while (OpcionMENU != 4);
}
}
}
Descargar