Bem eu aprendi a programar em Java mas estou trabalhando com c# e não estou conseguindo aplicar polimorfismo em c# e não vejo uma explicação lógica para isso bem irei colocar o código em java depois em c#:
package com.polimorfismo;
public class Transporte
{
public void exibeDados()
{
System.out.println("Método de exibição de dados");
}
}
class Navio extends Transporte
{
public void exibeDados()
{
System.out.println("Transporte navio");
}
}
class Onibus extends Transporte
{
public void exibeDados()
{
System.out.println("Transporte Onibus");
}
}
class Carro extends Transporte
{
public void exibeDados()
{
System.out.println("Transporte Carro");
}
}
class Bicicleta extends Transporte
{
public void exibeDados()
{
System.out.println("Transporte Bicicleta");
}
}
class Exibe
{
public static void main(String args[])
{
Transporte vet[] = new Transporte[4];
vet[0]=new Bicicleta();
vet[1]=new Carro();
vet[2]=new Onibus();
vet[3]=new Navio();
for(Transporte tipo:vet)
{
tipo.exibeDados();
}
}
}
manespace que contém a classe Transportes:
namespace Locomocao
{
public class Transportes
{
public String exibeDados()
{
return "Super classe";
}
}
public class Onibus : Transportes
{
public String exibeDados()
{
return "Onibus";
}
}
public class Bicicleta : Transportes
{
public String exibeDados()
{
return "Bicicleta";
}
}
public class Carro : Transportes
{
public String exibeDados()
{
return "Carro";
}
}
public class Navio : Transportes
{
public String exibeDados()
{
return "Navio";
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Locomocao;
public partial class Testes : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void OK_Click(object sender, EventArgs e)
{
Transportes[] vet = new Transportes[4];
vet[0] = new Onibus();
vet[1] = new Carro();
vet[2] = new Bicicleta();
vet[3] = new Navio();
foreach (Transportes i in vet)
{
this.lblResultados.Text = i.exibeDados();
}
}
}
Alguém tem uma explicação para isso..?