classes
22/03/2011
0
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
Marcos Tavares
Curtir tópico
+ 0
Responder
Posts
22/03/2011
Nilo Filho
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
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
Responder
23/03/2011
Marcos Tavares
Olá Nilo,
mto obrigado pela sua explicação, com certeza me será mto útil.
abraços
Responder
Clique aqui para fazer login e interagir na Comunidade :)