Tartalomjegyzék:

Hogyan tehetjük megváltoztathatatlanná az osztályt Java-ban dátummezővel?
Hogyan tehetjük megváltoztathatatlanná az osztályt Java-ban dátummezővel?

Videó: Hogyan tehetjük megváltoztathatatlanná az osztályt Java-ban dátummezővel?

Videó: Hogyan tehetjük megváltoztathatatlanná az osztályt Java-ban dátummezővel?
Videó: How to make a class immutable? - Cracking the Java Coding Interview 2024, Április
Anonim

Meg fogjuk érteni, mit jelentenek ezek az irányelvek, ha létrehozunk egy megváltoztathatatlan osztályt, változó objektumokkal, dátum mezővel

  1. Ne adjon meg „beállító” metódusokat – olyan módszereket, amelyek módosítanak mezőket vagy tárgyakat által hivatkozott mezőket .
  2. Készíts összes mezőket végső és privát.
  3. Ne engedje, hogy az alosztályok felülírják a metódusokat.

Ebből kiindulva hogyan tehetünk egy osztályt megváltoztathatatlanná a Java nyelven?

Megváltoztathatatlan osztály Java nyelven

  1. Az osztályt véglegesnek kell nyilvánítani, hogy ne lehessen meghosszabbítani.
  2. Minden mezőt tegye priváttá, hogy a közvetlen hozzáférés ne legyen engedélyezett.
  3. Ne adjon meg beállító metódusokat a változókhoz.
  4. Tegye véglegessé az összes módosítható mezőt, hogy az értékét csak egyszer lehessen hozzárendelni.
  5. Inicializálja az összes mezőt egy mélymásolást végrehajtó konstruktorral.

Ezt követően a kérdés az, hogy mi a haszna a változtathatatlan osztálynak a Java-ban? Változatlan osztály azt jelenti, hogy egy objektum létrehozása után nem tudjuk megváltoztatni a tartalmát. Ban ben Jáva , az összes csomagolóanyag osztályok (mint Integer, Boolean, Byte, Short) és String osztály van változhatatlan . Létrehozhatjuk a sajátunkat változhatatlan osztály is.

Az emberek azt is kérdezik, hogy a Date osztály megváltoztathatatlan a Java-ban?

Dátum nem változhatatlan , védekező másolatot kell készítenünk Jáva . util. Dátum mezőben, miközben hivatkozást ad vissza erre a példányváltozóra. Hozzunk létre egy hipotetikus személyt osztály amelynek a neve és a dob az egyetlen két tagja.

Hogyan tehetünk egy tárgyat megváltoztathatatlanná?

Az objektum megváltoztathatatlanná tételéhez az alábbi lépéseket kell végrehajtania:

  1. Ne használjon olyan metódusokat, amelyek megváltoztathatják az osztály mezőit. Például ne használd a szettereket.
  2. Kerülje a nyilvános, nem végleges mezők használatát. Ha a mezői nyilvánosak, akkor véglegesnek kell nyilvánítania őket, és inicializálnia kell őket a konstruktorban vagy közvetlenül a deklarációs sorban.

Ajánlott: