Bonsoir. Encore. Cela fait 3 jours que j'ai commencé à écrire l'article. Je ferai de mon mieux aujourd'hui aussi.
Aujourd'hui, j'écrirai sur l'encapsulation. L'encapsulation consiste à clarifier l'interface pour accéder à la classe créée. La portée de l'encapsulation et la méthode de spécification sont indiquées ci-dessous. Un tableau très facile à comprendre est inclus dans les références, je vais donc l'utiliser.
Nom | Comment spécifier dans le programme | Portée de l'accès |
---|---|---|
private | private | Seulement ma propre classe |
package private | N'écris rien | Classes appartenant au même package que vous |
protected | protected | Classes enfants qui appartiennent au même package que vous ou héritent de vous |
public | public | Toutes les classes |
Je pense que j'avais l'habitude de dire public lors de l'écriture de la méthode principale, mais cela utilise l'encapsulation. La méthode principale est une méthode qui est appelée lorsque le programme est exécuté, donc si vous rendez cette partie privée, une erreur se produira et elle ne sera pas exécutée.
Maintenant, expliquons statique à l'aide d'un exemple. Je ne parlerai pas de protégé cette fois car je l'écrirai pour expliquer l'héritage.
Num.java
public class Num{
static int a = 10;
}
A ce moment, si vous essayez d'appeler le champ défini en privé avec la méthode principale d'une autre classe, une erreur se produira et elle ne sera pas exécutée. Pour cela, nous allons créer des méthodes appelées getter et setter.
Num.java
public class Calc{
static int a = 10;
public int getA(){
return this.a;
}
public void setA(int a){
this.a = a;
}
}
En utilisant cette méthode getter et setter, vous pouvez appeler et écrire les valeurs des champs a et b de la classe calc.
Si vous en avez assez de tout rendre public, la valeur du champ sera réécrite dans un endroit vraiment inattendu et aucune erreur ne se produira, donc je pense qu'il est préférable d'utiliser privé pour le champ si possible. Dans le même temps, je pense qu'il vaut mieux l'ajouter aux champs définis dans la classe afin de faire la distinction entre les arguments de la méthode et les variables définies dans la classe.
J'avais le syndrome d'apathie aujourd'hui et je ne faisais rien. Pour être honnête, je craignais d'écrire un article. .. .. Je suis désolé que le montant soit petit car je ne peux pas sortir car il n'y a pas d'entrée. .. .. Cependant, j'ai pu l'écrire quand j'étais enthousiaste, je vais donc continuer à faire de mon mieux pour écrire dans cette condition. La prochaine fois, mes juniors me poseront des questions sur mes progrès, j'écrirai donc sur Vue.js, que j'ai récemment commencé à étudier. Je ferai de mon mieux pour l'écrire afin que même ceux qui ne connaissent pas Vue.js puissent le comprendre. Je vous serais reconnaissant si vous pouviez signaler des erreurs ou des différences dans les expressions dans cet article.
[Introduction à Java 2nd Edition (Refreshing Series)](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA % E3% 82% 8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9 % E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1% B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X / ref = zg_bs_515820_1? _Encoding = UTF8 & psc = 1 & refRID = JGCC33P1VGV3V5VKQGQR)
Recommended Posts