La méthode qui définit (définit) les valeurs dans les champs des objets Java est ** setter **. La valeur pour obtenir la valeur est ** getter **.
Par convention, les noms, arguments et valeurs de retour sont les suivants.
Nom de la méthode | argument | Valeur de retour | |
---|---|---|---|
Getter | getXXX() | Aucun argument | Valeur du champ |
Setter | setXXX() | Un argument | type de vide |
Rendre le contenu des objets qui forment un programme aussi invisible que possible des autres objets. Le principe de l'encapsulation est de rendre tous les champs privés afin que les autres classes ne puissent pas accéder au champ.
nom de champ de nom de type privé();
Les champs rendus privés par encapsulation ne sont pas accessibles directement par d'autres classes. Fournissez un moyen d'accès indirect au cas où vous auriez besoin d'y accéder. Plus précisément, préparez les méthodes suivantes pour l'accès indirect.
Type de retour Nom de la méthode(){
nom du champ de retour;
}
Cette méthode est juste une méthode qui renvoie la valeur du champ avec return. Par conséquent, le type de retour est le même que le type de champ. Par exemple
private int piyo;
Contre
public int getPiyo(){
return piyo;
}
Sera.
Rendu privé en appelant la méthode "getPiyo ()" dans une autre classe Vous pourrez obtenir la valeur du champ de type int "piyo". En bref, en appelant le getter depuis une autre classe, vous obtenez la valeur du champ privé comme valeur de retour. Ceci est un getter. De cette façon, même s'il y a un changement dans le nom du champ ou la logique d'acquisition de la valeur, la méthode "getPiyo ()" Tout ce que vous avez à faire est de réécrire l'intérieur. Il y a aussi l'avantage que vous n'avez pas à réécrire d'autres classes qui utilisent la méthode "getPiyo ()".
Il s'avère que les getters peuvent obtenir des valeurs pour les champs privés. Cependant, comme le getter est une méthode qui renvoie simplement la valeur du champ avec return, la valeur du champ ne peut pas être réécrite. La méthode de réécriture de la valeur est le setter. En général, préparez la méthode suivante.
Type de retour Nom de la méthode(argument){
Nom de domaine=argument;
}
Cette méthode prend la valeur que vous souhaitez entrer dans le champ en tant qu'argument et l'affecte simplement au champ de la méthode, de sorte que le type d'argument est le même que le champ. Par exemple
private int hoge;
Contre
public void setPiyo(int piyo){
piyo = hoge;
}
Sera. Ceci affecte simplement la valeur "hoge" reçue comme argument au champ "piyo". Comme le getter, de cette façon, même si quelque chose change, la méthode "setPiyo ()" dans la classe Tout ce que vous avez à faire est de réécrire l'intérieur. Il a aussi l'avantage qu'il n'est pas nécessaire de réécrire les autres classes qui utilisent la méthode "serPiyo ()".
Une méthode préparée pour accéder indirectement à un champ masqué par pravate, comme un setter ou un getter, est appelée une ** méthode accesseur **. En accédant au champ à l'aide de la méthode accesseur, il est possible de réduire la dépendance entre les classes, de faciliter le travail d'ajout / modification et d'augmenter le degré de liberté.
Recommended Posts