none
Diferença no uso de GET e SET entre C# e Java

    質問

  • Gostaria de saber poque há essa diferença na construção dos métodos GETTERS E SETTERS entre Java e C#.

    Pelo que entendo no C# podemos defini-los da seguinte forma:

    private int exemplo{get;set;}


    Já em Java é feito separadamente:

    private int exemplo;

    public void setExemplo(int ex){

    this.exemplo = ex;

    }

    public int getExemplo(){

    return this.exemplo;

    }

     

    Minha dúvida é se eu fizer da mesmo for que é feito em java estarei fazendo errado? Pois sei que funciona da mesmo forma e sei o porquê, acredito que utilizar igual foi feito no primeiro exemplo estamos fazendo o mesmo que declarar a variável como "public" pois acessaremos ela como e mesmo nome. Estou errado?

    Agradeço desde já! ;)


    2013年4月25日 17:52

回答

  • Nao estará errado, mas voce perde o do poder de serializaçao nativa do .NET caso use a estrutura Java.

    Digo, se voce precisar serializar sua classe para ser utilizada em webservices (é só um exemplo) a sintaxe java devera ser tratada de uma forma a parte, ja a esturtura .NET permite a serializaçao direta.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    2013年4月25日 18:12
    モデレータ

すべての返信

  • Nao estará errado, mas voce perde o do poder de serializaçao nativa do .NET caso use a estrutura Java.

    Digo, se voce precisar serializar sua classe para ser utilizada em webservices (é só um exemplo) a sintaxe java devera ser tratada de uma forma a parte, ja a esturtura .NET permite a serializaçao direta.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    2013年4月25日 18:12
    モデレータ
  • o get e set do c # voce devera colocar PUBLIC e não PRIVATE porque a propriedade não vai ser visivel em outras classes mas na sua sim e no java e a mesma coisa voce não entendeu como usar em c # ex:

    private int numero; //declarando uma variavel privada

    public int Numero

    {

    get{ return numero;}// retorna

    set{ numero = value;}// atribui

    }

    A SINTAXE E DIFERENTE O RESULTADO E O MESMO E SIM PODE USAR O JAVA DAQUELA MANEIRA NÃO ESTA ERRADO

    2013年4月25日 18:55
  • Não há diferença, mas o ideal é que se use o Get Set do c#, por questão de organização e uma melhor visualização do código.
    2013年4月25日 19:00
  • William muito obrigado pela resposta, eu não conhecia esse termo "serialização" e muito menos para que servia. Pesquisei e entendi muito bem o seu objetivo. abração
    2013年4月25日 19:19
  • Verdade, agora estou entendendo melhor. Muito obrigado Mauricio ;)
    2013年4月25日 20:01