Quando eu digo que um metodo é override o que eu estou querendo dizer?Em CSharp
Quem souber pode me explicar e me dar exemplos?
Gabriel Queiroz
Curtidas 0
Respostas
Jaedson Serafim
25/06/2015
Quer dizer que você está reescrevendo o método original a partir do zero, por exemplo:
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?
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?
GOSTEI 0
Fernanda Acacia
25/06/2015
Boa noite Gabriel, uma boa video aula pode te ajudar.
[url]https://www.youtube.com/watch?v=gvOsmf_DGVA[/url]
[url]https://www.youtube.com/watch?v=gvOsmf_DGVA[/url]
GOSTEI 0
Gabriel Queiroz
25/06/2015
E pra du poder sobsecrever o método que vou sobsecrever precisa ser virtual?
GOSTEI 0
Gabriel Queiroz
25/06/2015
Acho que nao funciona dessa forma nao...Jadeson
[img]http://arquivo.devmedia.com.br/forum/imagem/431946-20150626-090632.png[/img]
[img]http://arquivo.devmedia.com.br/forum/imagem/431946-20150626-090632.png[/img]
GOSTEI 0
Jaedson Serafim
25/06/2015
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"; } }
GOSTEI 0
Gabriel Queiroz
25/06/2015
Não pode ser na mesma classe
GOSTEI 0
Gabriel Queiroz
25/06/2015
Voce falou que nunca usa mas se usa bastnate sim principalmente pra testes
exemplo tenho minha classe pai
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 } }
GOSTEI 0
Gabriel Queiroz
25/06/2015
Cada um valendo um valor
GOSTEI 0