O Java suporta nativamente propriedades, como o C #? Ou quando codificando em Java, ao tentar encapsular variables, você está restrito a fazer isso pelos getVariable()
e setVariable()
?
obrigado
Não
Você não tem o conceito de Propriedades na linguagem Java. Você precisa usar getters e setters ..
Java não suporta propriedades semelhantes a C #. Você precisa de getters e setters, mas tenha cuidado para não permitir que o usuário acesse acidentalmente os dados encapsulados retornando uma referência ao object em vez de uma referência a uma cópia dele.
Como os outros disseram, nenhum Java não possui propriedades por si só. O método aceito é usar getters e setters. Em uma nota lateral, o Delphi tem suporte para propriedades que são muito semelhantes às do C #.
Definitivamente, nada como AutoProperties é suportado em Java. Não consigo encontrar qualquer menção de qualquer apoio futuro para isso também.
A última vez que verifiquei, o Java não suportava propriedades.
As propriedades do C # são semelhantes às propriedades do Delphi pelo simples fato de terem sido inspiradas pelas propriedades do Delphi. Ter uma das pessoas-chave da equipe Delphi da Borland mudou para a Microsoft e (ajudar) projetar C # não tinha nada a ver com isso 🙂
Houve uma proposta (vários de fato) no ano passado para adicionar propriedades de estilo C # ao Java, mas elas foram efetivamente derrubadas pela comunidade como sendo mero açúcar sintático sem nenhum valor agregado real.