Pensez à une classe comme un concept de choses dans le monde réel et considérez l'instanciation comme la matérialisation de cette image. Et je pense que l'encapsulation est un moyen de confirmer l'existence de la substance. Plus précisément, le code est le suivant.
//Classe du concept d'humain
public class Human {
//Les humains ont trois attributs: l'âge, le sexe et le pouvoir
private int age = 0;
private String gender = new String();
private double power = 0.0;
//Les trois attributs ci-dessus doivent être définis pour la matérialisation des êtres humains.
//Ce ne sont pas les humains qui ne possèdent pas ces attributs.
public Human(int age, String gender, double power) {
this.age = age;
this.gender = gender;
this.power = power;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public double getPower() {
return power;
}
public void setPower(double power) {
this.power = power;
}
}
Si vous instanciez cette classe, une personne naîtra.
L'existence de setter permet de changer une partie de la personne née.
La question se pose ici.
L'existence d'êtres humains devrait changer la valeur de l'attribut par rapport à un événement. Mais pourquoi est-il possible de changer une valeur d'attribut? Cela ressemble à un langage procédural.
Par exemple, lorsque ʻagechange, cela peut également affecter la puissance. Dans ce cas, vous devez préparer une méthode comme ʻupAge ()
.
Supposons également que vous ayez ajouté le "Tissu" de l'objet "Tissu" à l'attribut, en supposant que vous êtes habillé en être humain. Ensuite, lorsque vous enfilez vos vêtements, vous passez l '«objet Tissu» en tant que poseur. Cependant, cela n'est pas considéré comme orienté objet. Les vêtements ne doivent être que des accessoires à «Humain». Les vêtements eux-mêmes ne sont pas des éléments de l'objet. Dans de tels cas, vous devez hériter de la classe et créer une classe humaine moderne
.
Dans de nombreux cas, le setter est un style d'écriture incompatible pour l'orientation de l'objet.
Au moins, je pense qu'il vaut mieux ne pas entrer dans la super classe.
Cependant, le passeur a également une signification. C'est une méthode d'écriture obligatoire dans JavaBeans. Grâce à cela, il est possible d'écrire avec une lisibilité élevée lors de l'appel de l'élément de requête avec l'expression EL etc. dans le fichier jsp. De plus, c'est une méthode d'écriture recommandée même pour les API que je ne connais pas.
Nous avons également entendu dire qu'il était nécessaire dans le processus de transition du langage C.
C'est mon avis depuis six mois après avoir étudié Java. Je ne pense pas que ce soit toujours correct, mais je pense personnellement que cela a du sens. Je serais reconnaissant si quelqu'un pouvait me corriger. c'est tout.
Recommended Posts