Სარჩევი:

როგორ გავხადოთ კლასი უცვლელი Java-ში თარიღის ველით?
როგორ გავხადოთ კლასი უცვლელი Java-ში თარიღის ველით?

ვიდეო: როგორ გავხადოთ კლასი უცვლელი Java-ში თარიღის ველით?

ვიდეო: როგორ გავხადოთ კლასი უცვლელი Java-ში თარიღის ველით?
ვიდეო: Java Tutorials : Create Immutable class in Java 2024, ნოემბერი
Anonim

ჩვენ გავიგებთ, რას ნიშნავს ეს მითითებები რეალურად უცვლელი კლასის შექმნით ცვალებადი ობიექტით Date ველით

  1. არ მოგვაწოდოთ „სეტერი“მეთოდები - მეთოდები, რომლებიც ცვლის ველები ან ობიექტები მოხსენიებული მიერ ველები .
  2. Გააკეთოს ყველა ველები საბოლოო და კერძო.
  3. არ დაუშვათ ქვეკლასებს მეთოდების გადალახვა.

აქედან გამომდინარე, როგორ გავხადოთ კლასი უცვლელი Java-ში?

უცვლელი კლასი ჯავაში

  1. გამოაცხადეთ კლასი, როგორც საბოლოო, რათა არ მოხდეს მისი გახანგრძლივება.
  2. გახადეთ ყველა ველი პირადი, რათა პირდაპირი წვდომა არ იყოს დაშვებული.
  3. არ მოგვაწოდოთ სეტერის მეთოდები ცვლადებისთვის.
  4. გახადეთ ყველა ცვალებადი ველი საბოლოო, რათა მისი მნიშვნელობა მხოლოდ ერთხელ მიენიჭოს.
  5. ყველა ველის ინიციალიზაცია კონსტრუქტორის მეშვეობით, რომელიც ასრულებს ღრმა ასლს.

შემდგომში ჩნდება კითხვა, რა არის უცვლელი კლასის გამოყენება ჯავაში? უცვლელი კლასი ნიშნავს, რომ ობიექტის შექმნის შემდეგ, ჩვენ ვერ შევცვლით მის შინაარსს. In ჯავა , ყველა შეფუთვა კლასები (როგორც მთელი რიცხვი, ლოგიკური, ბაიტი, მოკლე) და სტრიქონი კლასი არის შეუცვლელი . ჩვენ შეგვიძლია შევქმნათ საკუთარი უცვლელი კლასი როგორც.

ხალხი ასევე იკითხავს, არის თუ არა თარიღის კლასი Java-ში უცვლელი?

თარიღი არ არის შეუცვლელი , ჩვენ უნდა გავაკეთოთ თავდაცვითი ასლი ჯავა . გამოყენება. თარიღი ველი ამ ინსტანციის ცვლადზე მითითების დაბრუნებისას. შევქმნათ ჰიპოთეტური ადამიანი კლასი რომელსაც აქვს სახელი და დობ, როგორც მხოლოდ ორი წევრი.

როგორ გავხადოთ ობიექტი უცვლელი?

იმისათვის, რომ ობიექტი უცვლელი გახდეს, თქვენ უნდა შეასრულოთ შემდეგი ნაბიჯები:

  1. არ გამოიყენოთ მეთოდები, რომლებსაც შეუძლიათ თქვენი კლასის ველების შეცვლა. მაგალითად, არ გამოიყენოთ სეტერები.
  2. მოერიდეთ საჯარო არასაბოლოო ველების გამოყენებას. თუ თქვენი ველები საჯაროა, მაშინ უნდა გამოაცხადოთ ისინი საბოლოო და ინიციალიზაცია მოახდინოთ კონსტრუქტორში ან პირდაპირ დეკლარაციის ხაზში.

გირჩევთ: