Autor Tema: Adivinar el animal, con formas, herencia, encapsulamiento y polimorfismo C#  (Leído 9631 veces)

RedGirl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Buenas tardes,  necesito ayuda con un programa en C#
Verán, tengo que hacer un programa que, mediante preguntas, de Si o No, me permita adivinar el animal. (en forms)
Claro, para eso, creería una clase de cada animal (necesito 30), luego, usando, herencia, polimorfismo y encapsulamiento (tengo problemas con este último}, cree una super clase, desde la cual, me maneje las preguntas y me permita llegar a un resultado.
Lo que a mi se me ocurre es crear 31 clases :'s (creo no es algo bueno eso}, luego en una super clase, tener las preguntas, pero no se como ligar para que agarre los datos que guarde en cada clase de un animal, ese es mi problema.
No se si entiendan el concepto, si no lo entienden, con gusto haré un mejor esfuerzo para explicarlo de nuevo. (o en una sola clase, todos heredando).

Agradecería muchoooo su ayuda :C

    
« Última modificación: 17 de Noviembre 2014, 23:22 por Alex Rodríguez »

Sixtoex

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 87
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #1 en: 16 de Noviembre 2014, 20:32 »
En el foro hice algo parecido, buscalo si quieres, utilizaba enum :) puede ser que te haga una idea de lo que sería el algoritmo

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #2 en: 16 de Noviembre 2014, 20:36 »
Hola, un diseño que parece lógico es crear una superclase animal donde tendrás todos los atributos y métodos comunes a los animales. Luego tendrás que crear una clase para cada animal que herede de la superclase Animal, por ejemplo Leon, Tigre, Gato, etc. heredarían de animal, y además tendrían sus características particulares.



RedGirl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #3 en: 16 de Noviembre 2014, 20:50 »
En el foro hice algo parecido, buscalo si quieres, utilizaba enum :) puede ser que te haga una idea de lo que sería el algoritmo
¿Con que nombre lo busco
Aunque enum creo no puede ser, no lo he manejado, y debe ser con lo que eh visto en clases :c

RedGirl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #4 en: 16 de Noviembre 2014, 20:57 »
Lo sé, una super clase en donde tenga, no se, características básicas
Aunque no me queda muy claro, sería, en la superclase poner, variable vacia, para, tipo de animal (carnívoro, herbívoro) , habit (selva, bosque, ciudad).
Esa es mi primera duda, como creo la super clase, variables sin argumentos? (Cómo? :c)
Luego, como empiezo con las preguntas, con esto se que lo debo de hacer.
            string message = "¿El animal es carnivoro?";
            string caption = "Adivina el animal";
            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult adivina;
            adivina = MessageBox.Show(message, caption, buttons);
            if (adivina == System.Windows.Forms.DialogResult.Yes)
{
 Qué llamaría aquí? la clase? cómo? , la variable? es lo que no entendo
}
            if (adivina == System.Windows.Forms.DialogResult.No)
{
aqui instrucciones parecidas a la anterior, supongo.
}
« Última modificación: 17 de Noviembre 2014, 23:24 por Alex Rodríguez »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #5 en: 17 de Noviembre 2014, 07:56 »
Parece que te faltan conceptos básicos, te recomiendo que antes de hacer este ejercicio hagas algunos ejercicios y ejemplos de herencia para comprender qué es la herencia..

Concepto de herencia: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=651:concepto-o-definicion-de-herencia-en-java-programacion-orientada-a-objetos-ique-es-ejemplos-cu00684b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Ejemplo herencia:

Código: [Seleccionar]
using System;
namespace ejemploHerencia
{
   class FormaGeometrica
   {
      public void setWidth(int w)
      {
         width = w;
      }
      public void setHeight(int h)
      {
         height = h;
      }
      protected int width;
      protected int height;
   }

   // Subclase
   class Rectangulo: FormaGeometrica
   {
      public int getArea()
      {
         return (width * height);
      }
   }
   
   class RectanguloTester
   {
      static void Main(string[] args)
      {
         Rectangulo Rect = new Rectangulo();

         Rect.setWidth(5);
         Rect.setHeight(7);

         // Imprimir el área
         Console.WriteLine("Total area: {0}",  Rect.getArea());
         Console.ReadKey();
      }
   }
}

RedGirl

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:Advina el animal, con formas, herencia, encapsulamiento y polimorfismo
« Respuesta #6 en: 17 de Noviembre 2014, 18:40 »
Me desanimaste :/
Soy una de las dos personas, que aprobó el examen de herencia que tuve hace unas semanas :c
« Última modificación: 17 de Noviembre 2014, 23:25 por Alex Rodríguez »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Adivinar el animal, con formas, herencia, encapsulamiento y polimorfismo C#
« Respuesta #7 en: 18 de Noviembre 2014, 09:11 »
Perdón  :'(

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".