Вы находитесь на странице: 1из 3

Ejemplo

de Herencia
class Mamiferos
{
int numExtremidades;
string nombre;
public Mamiferos()
: this(4, "Sin nombre")
{
nombre = "Sin nombre";
numExtremidades = 4;
}
public Mamiferos(int numExt, string nom)
{
if (numExt == 0 || numExt == 2 || numExt == 4)
{
numExtremidades = numExt;
nombre = nom;
}
else
throw new Exception("Error en el nmero de extremidades");
}
public void Moverse()
{
MessageBox.Show("Se mueve con sus
"+numExtremidades.ToString() + " extremidades");
}
public void Gestacin()
{
MessageBox.Show("Nace de su mam");
}
public string Nombre
{
set
{
nombre = value;
}
get
{
return nombre;
}
}
}
class Humano:Mamiferos
{
string nacionalidad;
public Humano():base(2,"Juancho")
{
nacionalidad = "Mexicano";
}
public Humano(string nom, string nac)
: base(2, nom)
{
nacionalidad = nac;
}
public string Nacionalidad
{
set
{
nacionalidad = value; }
get
{ return nacionalidad;
}
}
}

class Cetaceos:Mamiferos
{
public Cetaceos()
: base(0, "Sin nombre")
{
}
public Cetaceos(string nom)
: base(0, nom)
{
}
public void Moverse()
{
MessageBox.Show("Nada, glu,glu,glu");
}
}
class Caninos:Mamiferos
{
string raza;
public Caninos()
: base()
{
}
public Caninos(string nom, string raza)
: base(4, nom)
{
this.raza = raza;
}
public string Raza
{
set
{
raza = value; }
get
{ return raza;
}
}
public void Moverse()
{
base.Moverse();
MessageBox.Show("Y mueve su cola");
}
}
En la forma
Mamiferos objM;
Humano objH; Cetaceos objC; Caninos objN;
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
objH = new Humano(tbNombre.Text, tbNacional.Text);
else
if (radioButton2.Checked)
objN = new Caninos(tbNombre.Text, tbRaza.Text);
else
objC = new Cetaceos(tbNombre.Text);
}
private void btNombre_Click(object sender, EventArgs e)
{
SelecObj();
MessageBox.Show(objM.Nombre);
}
public void SelecObj()
{
if (radioButton1.Checked)
objM = objH;
else
if (radioButton2.Checked)
objM = objN;
else
objM = objC;
}

private void btMoverse_Click(object sender, EventArgs e)


{
SelecObj();
objM.Moverse();
}
private void btGes_Click(object sender, EventArgs e)
{
SelecObj();
objM.Gestacin();
}

Вам также может понравиться