Array
(
)

Quando eu digo que um metodo é override o que eu estou querendo dizer?Em CSharp

Aspnet Mvc
   - 25 jun 2015

Quem souber pode me explicar e me dar exemplos?

Jaedson Serafim
   - 25 jun 2015

Quer dizer que você está reescrevendo o método original a partir do zero, por exemplo:
#Código

string a;
public virtual void teste ()
{
    a = "Teste original";
}

public override void teste ()
{
    a = "Novo teste";
}

// Se você chamar teste() a será igual a "Novo teste", pois você alterou o método original.


Esse recurso é muito interessante, mas eu não uso muito ele, já que se eu vou modificar o método original, porque eu o criaria? Só para usar recursos?

Fernanda Acacia
   - 25 jun 2015

Boa noite Gabriel, uma boa video aula pode te ajudar.

https://www.youtube.com/watch?v=gvOsmf_DGVA

Aspnet Mvc
   - 25 jun 2015

E pra du poder sobsecrever o método que vou sobsecrever precisa ser virtual?

Aspnet Mvc
   - 26 jun 2015

Acho que nao funciona dessa forma nao...Jadeson
Clique na imagem para abrir em uma nova janela

Jaedson Serafim
   - 27 jun 2015

Realmente, tinha esquecido esse detalhe, o código fica assim:
#Código

// O método original deve estar em uma classe abstrata.
public abstract class Class1
{
    public virtual void teste(string a)
    {
        a = "Teste original";
    }
}

// E a classe com o novo método deve herdar a classe abstrata.
class MyClass : Class1
{
    public override void teste(string a)
    {
        a = "Novo teste";
    }
}

Aspnet Mvc
   - 27 jun 2015

Não pode ser na mesma classe

Aspnet Mvc
   - 27 jun 2015

Voce falou que nunca usa mas se usa bastnate sim principalmente pra testes
exemplo tenho minha classe pai
#Código

public class Pai
{
   public virtual string MetodoPai()
    {
        return  "a";
    }
}
//Porem as vezes quero que cada um de uma classe passa a valer um valor , porem no mesmo metodo
public class Filho
{
   public override string MetodoFilho
     {
       return "b";
     }
}

//Exemplo em minha classe principal

abstract class Principal
{
     Pai ClasseDoPai = new ClassePai();
     Filho ClasseDoFilho = nre ClasseFilho();
    public static void Main()
      {
        //Assim quando eu chamar exemplo posso chamar os dois independente se sobscrevi este metodo ou nao
      }
}

Aspnet Mvc
   - 27 jun 2015

Cada um valendo um valor