Turinys:

Kaip galime padaryti klasę nekintamą Java naudojant datos lauką?
Kaip galime padaryti klasę nekintamą Java naudojant datos lauką?

Video: Kaip galime padaryti klasę nekintamą Java naudojant datos lauką?

Video: Kaip galime padaryti klasę nekintamą Java naudojant datos lauką?
Video: CS50 2013 - Week 8 2024, Gruodis
Anonim

Mes suprasime, ką iš tikrųjų reiškia šios gairės, sukurdami nekintamą klasę su kintamu objektu su datos lauku

  1. Nepateikite „nustatymo“metodų – metodų, kurie modifikuoja laukai arba objektų nurodytas laukai .
  2. Padaryti visi laukai galutinis ir privatus.
  3. Neleisti poklasiams nepaisyti metodų.

Štai kaip galime padaryti klasę nekintama Java?

Nekintama klasė Java

  1. Paskelbkite klasę kaip galutinę, kad jos nebūtų galima pratęsti.
  2. Padarykite visus laukus privačius, kad tiesioginė prieiga nebūtų leidžiama.
  3. Nepateikite kintamųjų nustatymo metodų.
  4. Padarykite visus keičiamus laukus galutinius, kad jo reikšmę būtų galima priskirti tik vieną kartą.
  5. Inicijuokite visus laukus naudodami konstruktorių, atliekantį giliąją kopiją.

Vėliau kyla klausimas, kokia yra nekintamos klasės „Java“naudojimas? Nekintama klasė reiškia, kad sukūrus objektą negalime pakeisti jo turinio. Į Java , visas pakuotes klases (pavyzdžiui, sveikasis skaičius, loginis, baitas, trumpas) ir eilutė klasė yra nekintamas . Galime sukurti savo nekintanti klasė taip pat.

Žmonės taip pat klausia, ar Date klasė yra nekintama Java?

Data nėra nekintamas , turime sukurti gynybinę kopiją java . util. Data grąžinant nuorodą į šį egzemplioriaus kintamąjį. Sukurkime hipotetinį žmogų klasė kurios vieninteliai nariai yra vardas ir pavardė.

Kaip mes galime padaryti objektą nekintamą?

Kad objektas būtų nekintamas, turite atlikti šiuos veiksmus:

  1. Nenaudokite jokių metodų, kurie gali pakeisti jūsų klasės laukus. Pavyzdžiui, nenaudokite seterių.
  2. Venkite naudoti viešus ne galutinius laukus. Jei jūsų laukai yra vieši, turite paskelbti juos galutiniais ir inicijuoti konstruktoriuje arba tiesiai deklaracijos eilutėje.

Rekomenduojamas: