none
Qual diferença ao chamar dados de uma classe com set_get e sem RRS feed

  • Pergunta

  • Caros amigos, qual a diferença ao chamar dados de uma classe usando get e set e sem os mesmos. Veja o exemplo abaixo:

    //Instância a classe Pessoa
    Pessoa p = new Pessoa();
    // Passa o conteúdo digitado para as variáveis definidas nos set's
    p.setNome(txtNome.Text);


    //Instância a classe Pessoa
    Pessoa p = new Pessoa();
    // Passa o conteúdo digitado para as variáveis definidas nas classes
    p.nome = txtNome.Text;

    Até mais.

    Professor Msc Rafael

    sábado, 14 de abril de 2012 18:02

Respostas

  • Diferença mesmo não tem nenhum se o propósito for atribuir valor a variável.

    Quando você passa

    p.nome = txtNome.Text;

    você está usando o Set da Propriedade e somente atribuindo o valor e geralmente sem nenhuma manipulação e quando voce usa

    p.setNome(txtNome.Text);
    você está chamando um método que irá setar o valor de alguma declaração ou fazer alguma manipulação com essr valor, dessa forma é usado em alguns componentes.


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    MCC - Microsoft Community Contributor
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    domingo, 15 de abril de 2012 05:38
  • Como o Bruno colocou em resultado não existe diferença.

    Essa forma é utilizada como padrão de encapsulamento.

    Essa forma de get/set em método é mais comum em java, no .NET utiliza-se propriedades.


    If was useful mark as answered. Mariano, Paulo T. C.

    • Sugerido como Resposta ptcmariano segunda-feira, 16 de abril de 2012 11:22
    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    segunda-feira, 16 de abril de 2012 11:15
  • Em java fica assim a sua classe pessoa:

    public class Pessoa{ private String nome; public void setNome(String pNome){ this.nome = pNome; } } //Instância a classe Pessoa Pessoa p = new Pessoa(); // Passa o conteúdo digitado para as variáveis definidas nos set's p.setNome(txtNome.Text);


    Em C# .Net fica assim a sua classe pessoa:

    public class Pessoa{
      private string _nome;
      public string nome{ get; set; }
    }

    Utilizando propriedades você não precisa criar métodos de get/set.


    If was useful mark as answered. Mariano, Paulo T. C.

    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    segunda-feira, 16 de abril de 2012 11:22
  • Como ficou a duvida amigo? Alguma resposta te ajudou?
    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:06
    sexta-feira, 4 de maio de 2012 13:19

Todas as Respostas

  • Diferença mesmo não tem nenhum se o propósito for atribuir valor a variável.

    Quando você passa

    p.nome = txtNome.Text;

    você está usando o Set da Propriedade e somente atribuindo o valor e geralmente sem nenhuma manipulação e quando voce usa

    p.setNome(txtNome.Text);
    você está chamando um método que irá setar o valor de alguma declaração ou fazer alguma manipulação com essr valor, dessa forma é usado em alguns componentes.


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    MCC - Microsoft Community Contributor
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    domingo, 15 de abril de 2012 05:38
  • Como o Bruno colocou em resultado não existe diferença.

    Essa forma é utilizada como padrão de encapsulamento.

    Essa forma de get/set em método é mais comum em java, no .NET utiliza-se propriedades.


    If was useful mark as answered. Mariano, Paulo T. C.

    • Sugerido como Resposta ptcmariano segunda-feira, 16 de abril de 2012 11:22
    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    segunda-feira, 16 de abril de 2012 11:15
  • Em java fica assim a sua classe pessoa:

    public class Pessoa{ private String nome; public void setNome(String pNome){ this.nome = pNome; } } //Instância a classe Pessoa Pessoa p = new Pessoa(); // Passa o conteúdo digitado para as variáveis definidas nos set's p.setNome(txtNome.Text);


    Em C# .Net fica assim a sua classe pessoa:

    public class Pessoa{
      private string _nome;
      public string nome{ get; set; }
    }

    Utilizando propriedades você não precisa criar métodos de get/set.


    If was useful mark as answered. Mariano, Paulo T. C.

    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:07
    segunda-feira, 16 de abril de 2012 11:22
  • Amigo, existe uma diferença MUITO IMPORTANTE! Voce sentirá essa diferença quando precisar colocar um break point na variável... Variável não aceita break point, então se vc usar Get e Set poderá por break point numa boa.

    Eu não achava isso importante até ter uma baita dor de cabeça para resolver um problema...

    se foi útil não esqueça de marcar ;)

    terça-feira, 17 de abril de 2012 21:45
  • Como ficou a duvida amigo? Alguma resposta te ajudou?
    • Marcado como Resposta Professor Rafael quarta-feira, 14 de outubro de 2015 10:06
    sexta-feira, 4 de maio de 2012 13:19