Array
(
)

classes

Marcos Tavares
   - 22 mar 2011

Caros colegas,   estou começando agora no mundo C# e vindo da linhagem PHP / Mysql. Percebi que alguns comandos são familiares ao PHP, mas em outros não consegui entender mto bem. Veja abaixo uma das minhas dúvidas:   Qdo quero instanciar uma classe, é necessário do método ter o mesmo nome da classe?   ex:   Class teste {      public teste() {    Console.WriteLine("conteudo");  }   }   Class teste1 { public void Main(){    teste t1 = new teste();   } }   ele nao aceita se o método for outro nome?   Class teste { public testeChamada() { Console.WriteLine("conteudo"); } } Class teste1 { public void Main(){ teste t1 = new teste(); } }   abraços

Nilo Filho
   - 22 mar 2011

Pode sim ter outros nomes, o que não pode é o construtor da classe ter um nome diferente da classe. O que é o caso do exemplo que você citou. Vale lembrar que construtores de classes são métodos que não tem retorno, nem mesmo void.Por exemplo o que você perguntou
Class teste{   public teste() <-- Aqui você sobreescreveu o construtor da classe.{   Console.WriteLine("conteudo"); } } Class teste1 <--- Já nessa classe você não sobrescreveu o construtor{public void Main(){  teste t1 = new teste(); }}  Class teste{public testeChamada()   <-- Aqui se você tivesse colocado void ou um outro tipo qualquer de retorno para esse método, não haveria problemas. Aqui o erro de sintaxe é que não há retorno e além do mais se você quisesse sobrescrever o construtor bastava manter o mesmo nome da classe.{Console.WriteLine("conteudo");}}Class teste1{public void Main(){teste t1 = new teste();}}
Em tempo, vale lembrar também que uma classe pode ter vários construtores.
Espero ter sido útil a você a minha humilde explicação.Até maisNilo

0
|
0

Marcos Tavares
   - 23 mar 2011

Olá Nilo,

mto obrigado pela sua explicação, com certeza me será mto útil.   abraços

0
|
0