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

25/06/2015

0

Quem souber pode me explicar e me dar exemplos?
Gabriel Queiroz

Gabriel Queiroz

Responder

Posts

25/06/2015

Jaedson Serafim

Quer dizer que você está reescrevendo o método original a partir do zero, por exemplo:
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?
Responder

25/06/2015

Fernanda Acacia

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

[url]https://www.youtube.com/watch?v=gvOsmf_DGVA[/url]
Responder

25/06/2015

Gabriel Queiroz

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

26/06/2015

Gabriel Queiroz

Acho que nao funciona dessa forma nao...Jadeson
[img]http://arquivo.devmedia.com.br/forum/imagem/431946-20150626-090632.png[/img]
Responder

27/06/2015

Jaedson Serafim

Realmente, tinha esquecido esse detalhe, o código fica assim:
// 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";
    }
}
Responder

27/06/2015

Gabriel Queiroz

Não pode ser na mesma classe
Responder

27/06/2015

Gabriel Queiroz

Voce falou que nunca usa mas se usa bastnate sim principalmente pra testes
exemplo tenho minha classe pai
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
      }
}
Responder

27/06/2015

Gabriel Queiroz

Cada um valendo um valor
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar