Propertyes no Java 7

6 respostas
M

Olá a todos.

Há rumores de que a nova versão do Java vai introduzir a palavra-chave property, com uma função semelhantes a que é uzada em outras linguagens, como o C#. Algúem sabe alguma coisa sobre isso?

6 Respostas

rmendes08

Tomara que não façam isso … tá todo mundo acostumado com getters e setters explícitos já, no caso de Java … e particularmente, eu não vejo muito ganho em legibilidade com propriedades …

sergiotaborda

MNeto:
Olá a todos.

Há rumores de que a nova versão do Java vai introduzir a palavra-chave property, com uma função semelhantes a que é uzada em outras linguagens, como o C#. Algúem sabe alguma coisa sobre isso?

Não no java 7 e suspeito que nunca.
A filosofia java é muito contrária à introdução de novos keywords.

Uma anotação até que seria possivel, mas no fim é desnecessária. O padrão get/set é melhor que property.
No c#,por exemplo,vc tem property, mas dentro tem get e set. Ou seja. tem 3 palavras para uma coisa que o java
resolve com 2.

P.S. Essa keyword existe, mas em JavaFX que é uma linguagem diferente.

ViniGodoy

sergiotaborda:
No c#,por exemplo,vc tem property, mas dentro tem get e set. Ou seja. tem 3 palavras para uma coisa que o java
resolve com 2.

Três palavras? Aonde?

É assim que se declara uma propriedade em C#:

public class Exemplo
{
     private int propriedade;

     public int PropriedadeInteira 
    {
          get 
          {
               return propriedade;
          }

          set 
          {
               propriedade = value;
          }
     }
}

Detalhe que o java não resolve exatamente o problema. Com properties, vc tem uma sintaxe sucinta e muitíssimo mais visível, como essa aqui:

vetor.Z = (vetor.X + vetor.Y) / 2;

Em java o equivalente seria:

vetor.setZ(vetor.getX() + vetor.getY() /2);
E

Onde você leu isso? Que eu saiba, as únicas alterações de linguagem a serem introduzidas no Java 7 estão aqui:

http://blogs.sun.com/darcy/entry/project_coin_final_five

Uma delas, que você irá gostar, é esta aqui:

String s = "abacaxi";
switch (s) {
case "banana":
    break;
case "caqui":
    break;
case "damasco":
    break;
};

Outra é esta aqui:

try (BufferedReader br = new BufferedReader (new InputStreamReader (new FileInputStream ("teste.txt")))) {
    br.readLine();
    // no fim deste "try", o arquivo será automaticamente fechado.
}

A próxima é esta aqui:

Map < Integer, List < String > >  multimap = new TreeMap< >();

Esta então:

int binary = 0b0100010101; // dado em binário

Ainda outra:

Map < String, String > dicionario = {
    "Duke" : "duque",
    "James": "Tiago",
    "Bill": "Gulherme",
    "avocado": "abacate"
};

Mais outra:

int #"variavel com espacos e.pontos.no meio" = 42;
System.out.println (#"variavel com espacos e.pontos.no meio");
sergiotaborda

ViniGodoy:
sergiotaborda:
No c#,por exemplo,vc tem property, mas dentro tem get e set. Ou seja. tem 3 palavras para uma coisa que o java
resolve com 2.

Três palavras? Aonde?

É assim que se declara uma propriedade em C#:

public class Exemplo
{
     private int propriedade;

     public int PropriedadeInteira 
    {
          get 
          {
               return propriedade;
          }

          set 
          {
               propriedade = value;
          }
     }
}

Lapso de memória…eu tinha a ideia que era

public class Exemplo
{
     private int propriedade;

     public property int PropriedadeInteira 
    {
          get 
          {
               return propriedade;
          }

          set 
          {
               propriedade = value;
          }
     }
}
ViniGodoy

Acho que no object pascal é mais ou menos assim…

Criado 3 de setembro de 2009
Ultima resposta 3 de set. de 2009
Respostas 6
Participantes 5