Table des matières:

Comment pouvons-nous rendre la classe immuable en Java avec un champ de date?
Comment pouvons-nous rendre la classe immuable en Java avec un champ de date?

Vidéo: Comment pouvons-nous rendre la classe immuable en Java avec un champ de date?

Vidéo: Comment pouvons-nous rendre la classe immuable en Java avec un champ de date?
Vidéo: [reupload] Java pour les débutants : attributs, "private", etc (12 / 12) 2024, Mars
Anonim

Nous comprendrons ce que ces directives signifient réellement en créant une classe immuable avec un objet mutable avec un champ Date

  1. Ne fournissez pas de méthodes « setter » - des méthodes qui modifient des champs ou objets visée par des champs .
  2. Faire tous des champs finale et privée.
  3. Ne permettez pas aux sous-classes de surcharger les méthodes.

Ici, comment peut-on rendre une classe immuable en Java ?

Classe immuable en Java

  1. Déclarez la classe comme finale afin qu'elle ne puisse pas être étendue.
  2. Rendez tous les champs privés afin que l'accès direct ne soit pas autorisé.
  3. Ne fournissez pas de méthodes setter pour les variables.
  4. Rendez tous les champs mutables définitifs afin que sa valeur ne puisse être attribuée qu'une seule fois.
  5. Initialisez tous les champs via un constructeur effectuant une copie profonde.

Par la suite, la question est, à quoi sert la classe immuable en Java ? Classe immuable signifie qu'une fois qu'un objet est créé, nous ne pouvons pas modifier son contenu. Dans Java , tout l'emballage Des classes (comme Integer, Boolean, Byte, Short) et String classer est immuable . Nous pouvons créer notre propre classe immuable également.

Les gens demandent également si la classe Date est immuable en Java ?

Date n'est pas immuable , nous devons faire une copie défensive de Java . util. Date tout en renvoyant une référence à cette variable d'instance. Créons une personne hypothétique classer qui a le nom et le dob comme les deux seuls membres.

Comment rendre un objet immuable ?

Pour rendre l'objet immuable, vous devez effectuer ces étapes:

  1. N'utilisez aucune méthode, qui peut modifier les champs de votre classe. Par exemple, n'utilisez pas les Setters.
  2. Évitez d'utiliser des champs publics non finals. Si vos champs sont publics alors vous devez les déclarer comme final et les initialiser dans le constructeur ou directement dans la ligne de déclaration.

Conseillé: