100 votes

java a-t-il quelque chose de similaire aux propriétés C #?

Les propriétés C # (je veux dire méthodes get et set) sont très utiles. Java a-t-il aussi quelque chose de similaire aux propriétés C #? Je veux dire comment nous pouvons implémenter quelque chose comme le code C # suivant en Java:

 public string Name
{
    get
    {
        return name;
    }

    set
    {
        name = value;
    }
}
 

Merci d'avance

117voto

Khnle - Kevin Le Points 3415

Non, Java n'a pas l'équivalence. Il n'a que des méthodes d'accès et de mutation, des noms de fantaisie pour les méthodes de lecture et de définition. Par exemple:

 public class User {
    private String name;

    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }
}
 

17voto

Renjith Points 101

Les propriétés sont non seulement pratiques en termes d'écriture getters et setters encapsulées dans une unité, mais elles fournissent également une bonne syntaxe au moment de l'appel.

 Window.Title =  "New"; //which looks natural
 

tandis que avec getters et setters il est généralement

 Window.setTitle("New");
 

6voto

Jesper Points 65733

Il a été proposé d’ajouter à Java un support similaire à C # pour les propriétés (et événements), mais il semble que cela soit rejeté pour la prochaine version de Java (Java 7).

Voir:

0voto

Larry Watanabe Points 7305

Vous pouvez simplement déclarer une variable privée et écrire les méthodes à la main. Toutefois, si vous utilisez Eclipse, vous pouvez cliquer sur une variable, sélectionner "Source" et "Générer des getters et des setters". C'est à peu près aussi pratique que les propriétés C #.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X