Question

D'accord, j'ai donc une mission où je dois créer une classe avec un ensemble de propriétés privées, que je l'ai fait. Il est délicat parce que je suis assez nouveau à la programmation java (ou la programmation en général) et je suis pas très pratique dans l'encapsulation. Je ne l'ai pas utilisé getters / setters ou constructeurs avant. Je comprends les méthodes getter / setter, mais encore à comprendre toute l'information en ligne pour les constructeurs, ou même comprendre leur but.

Je dois créer getters / setters et les constructeurs pour chacune des propriétés il semblerait que je devrais apprendre à utiliser ces méthodes. Si quelqu'un pouvait me donner un exemple d'une classe avec un constructeur et d'expliquer ce que le constructeur est en train de faire, et pourquoi je l'utiliserais ce serait bien.

Merci à l'avance.

Était-ce utile?

La solution

Tout d'abord, bienvenue dans le monde de la programmation:)

Permet de consulter un exemple simple.

Dites que vous voulez programmer une classe pour représenter une place. Lorsque vous créez un objet carré, vous devez donner les propriétés certains carrés, comme la longueur de chaque côté. C'est là les constructeurs entrent en jeu.

Les regards de mise en page de classe comme celle-ci, notez la variable length_of_each_side n'est pas attribué une valeur.

public class Square {
     int length_of_each_side;

     public Square() {
     ...
     }

     public Square(int length) {
     ...
     }
}

Vous pouvez avoir un constructeur par défaut qui vous donnera une place prédéfinie si vous ne spécifiez pas la taille de la place.

public Square() {
     length_of_each_side = 1;
}

ou vous pouvez permettre à quelqu'un de spécifier la taille de la place

public Square(int length) {
     length_of_each_side = length;
}

Si je veux créer un Square prédéfini (longueur 1), il ressemblerait à ceci

Square mySquare = new Square();

Si je veux créer une place et préciser la durée de 55 ans, il ressemblerait à ceci

Square mySquare = new Square(55);

Autres conseils

Je ne suis pas sûr à quel point vous regardez cela à l'école ou ce que votre professeur vous dit, mais juste une suggestion - ne pas utiliser accesseurs comme une question d'habitude. Il y a une raison pour laquelle ils ne sont pas « automatique » en Java, il est parce qu'ils devraient vraiment pas être là.

Lorsque vous avez un objet, l'idée est de demander l'objet de faire quelque chose pour vous - en d'autres termes, vous devez fournir des méthodes qui agissent sur les variables pour vous plutôt que d'obtenir la variable et d'agir sur elle et la mettre retour.

Il y a beaucoup de fois que vous ne pouvez pas éviter getters - mais ils ne devraient être ajoutés lorsque vous êtes sûr que vous en avez besoin, non pas comme une question d'habitude

.

Votre constructeur est l'endroit meilleur pour définir toutes vos variables membres. En fait, si vous faites des variables finales (une très bonne habitude à prendre, fait la classe « immuable »), le constructeur sera le seul endroit où vous pouvez les assigner.

Votre constructeur est garanti d'être appelé lorsque votre objet est créé, il est donc un bon endroit pour mettre votre objet vers le haut. Dans votre constructeur si vous vous assurez l'objet est dans un état valide et que vous avez des variables membres finales, il est impossible d'obtenir votre objet dans un état non valide - c'est une pratique très pratique et peut vous faire économiser beaucoup de temps de débogage

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top