Qu’est-ce qu’un constructeur en Java et comment l’utiliser ?
Dans les programmes orientés objet, un érecteur est une fonction spéciale que vous appelez pour créer un objet. Les constructeurs ont de nombreux attributs uniques qui leur permettent de fonctionner.
En Java, vous nommez un érecteur d’après sa classe. Un producteur est une méthode, définie dans la classe à laquelle elle s’applique. Les producteurs Java peuvent utiliser la surcharge pour fournir un comportement alternatif. Les entrepreneurs en Java peuvent également profiter de l’héritage pour réutiliser le code.
Pourquoi avez-vous besoin de constructeurs de toute façon ?
Les constructeurs sont un pilier des émissions orientées objet, et Java ne fait pas exception. Cet exemple montre comment vous pouvez définir un parcours Circle standard avec une propriété résidentielle d’informations et également une technique :
Vous pouvez alors produire une circonstance de ce cours ainsi que communiquer avec lui :
Mais c’est beaucoup moins facile et aussi durable que peut-être. C’est une excellente pratique orientée objet pour encapsuler les données, les protégeant des accès non autorisés :
Maintenant, le code d’appel peut utiliser le setRadius méthode et ne pas avoir à se soucier de ses informations d’exécution :
Les constructeurs fournissent également une bien meilleure méthode pour fournir des informations à un objet lorsque vous le produisez. Ils sont très souvent utilisés pour l’initialisation de propriétés résidentielles, telles que le rayon ici.
Exemples de constructeurs simples
L’érecteur le plus fondamental est celui qui n’a aucun désaccord, qui ne fait rien :
Si vous ne définissez pas de constructeur, Java en donnera certainement un par défaut qui se comporte de la même manière.
Notez deux choses :
- Le nom du monteur correspond au nom de la classe.
- Cet entrepreneur utilise le Publique modificateur d’accessibilité, afin que tout autre code puisse l’appeler.
- Un fabricant ne consiste pas en un type de retour. Contrairement à diverses autres approches, les producteurs ne peuvent pas retourner une valeur.
Les constructeurs effectuent normalement une sorte d’initialisation. Gardez à l’esprit que le code ci-dessus ne démarre pas la valeur du rayon. Dans ce cas, le langage l’établira automatiquement à zéro. Ce cours prévoit qu’un individu utilisera setRadius() . Pour utiliser une valeur par défaut plus utile que 0, vous pouvez la désigner dans le générateur :
Les cercles développés avec cette classe auront certainement au moins maintenant un emplacement réel ! L’appelant peut toujours utiliser setRadius() fournir une distance différente de 1. Pourtant, le fabricant peut aussi être plus convivial :
Vous pouvez maintenant créer des cercles avec une distance particulière dès la naissance :
Il s’agit d’une utilisation extrêmement courante pour les installateurs. Vous les utiliserez fréquemment pour initialiser des variables à des valeurs de critère.
Surcharge du constructeur
Vous pouvez spécifier plusieurs compilateurs dans une définition de classe :
Cela donne au code appelant une sélection de la manière de créer des éléments :
Avec un cercle un peu plus compliqué, vous pouvez explorer des constructeurs plus fascinants. Cette variation magasine son cadre :
Vous pouvez maintenant créer un cercle sans désaccord, un rayon solitaire ou des coordonnées x et y avec le rayon. C’est le même type de surcharge que Java prend en charge pour n’importe quelle méthode.
Chaînage constructeur
Que diriez-vous de produire un cercle, basé sur un autre ? Cela nous offrirait certainement la possibilité de copier facilement les cercles. Respectez le bloc conforme :
Cela fonctionnera certainement, mais cela duplique inutilement du code. Étant donné que la classe Circle a actuellement un constructeur qui s’occupe des bâtiments privés, vous pouvez appeler cela plutôt en utilisant le cette mots clés:
Il s’agit d’un type d’enchaînement de fabricants, appelant un fabricant à un autre. Il utilise moins de code et permet également de centraliser une opération plutôt que de la répliquer.
Appel du constructeur parent
L’autre type de chaînage de producteurs a lieu lorsqu’un fabricant appelle un installateur de son cours de maman et papa. Cela peut être explicite ou implicite. Pour appeler explicitement un entrepreneur principal, utilisez le super mot-clé:
Imaginez une classe Shape comme parent du cercle :
Il traite du placement habituel pour tous les formulaires, étant donné qu’il s’agit d’une fonctionnalité qu’ils partagent tous. Maintenant, la classe Circle peut transmettre le paramètre traitant à son parent :
La construction et la construction de superclasses sont un élément extrêmement crucial de l’héritage en Java. Le langage l’implémente par défaut si vous n’appelez pas clairement super dans vos bâtisseurs.
Modificateurs d’accès sur les constructeurs
Les constructeurs peuvent inclure un modificateur d’accès dans leur signature. Comme diverses autres approches, cela précise quels types de clients peuvent accéder au fabricant :
Il s’agit d’un exemple beaucoup plus difficile, alors prenez soin de le reconnaître :
- Le cours n’est pas abstrait, il est donc possible de l’instancier.
- Le fabricant est personnel, donc seul ce cours lui-même peut produire une toute nouvelle instance.
- Via un bâtiment et une méthode fixes, le cours soumet une instance unique et distincte de lui-même aux clients.
Utiliser des constructeurs en Java pour créer des objets
Les constructeurs sont importants pour la programmation orientée objet. Ils vous permettent de produire des objets, ce qui est important !
En Java, les fabricants ressemblent à d’autres approches et fonctionnent selon une méthode similaire. Vous devez garder à l’esprit les directives uniques concernant les constructeurs par défaut, la surcharge et le chaînage des constructeurs. Si les constructeurs sont nouveaux pour vous, vous pouvez consulter les diverses autres idées de base de Java que vous devez découvrir au démarrage.