Junior — Middle
როგორ შეიძლება განახორციელოთ შეუცვლელი ობიექტი პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
არამოყვანილი ობიექტი (immutable object) არის ობიექტი, რომლის მდგომარეობა ვერ იცვლება მისი შექმნის შემდეგ. Java-ში ეს რამდენიმე გზით მიიღწევა:
- კლასის final-ის გამოცხადება — რათა მას არ შეუძლია მემკვიდრეობა და მისი ქცევის შეცვლა.
- ყველა ველი იყოს private და final — რათა მისი მნიშვნელობა ვერ შეიცვალოს ინიციალიზაციის შემდეგ.
- Setter-ების არ მიწოდება — მხოლოდ getter-ები ველების მისაწვდომად.
- ყველა ველი ინიციალიზება კონსტრუქტორით.
- თუ ველი არის რეფერენცული ტიპი, უზრუნველყოს მისი უცვლელობა (მაგალითად, გამოიყენოს უცვლელი კოლექციები ან შექმნას ობიექტების ასლები გადაცემისას).
მაგალითი:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
ამ გზით, Person ობიექტის შექმნის შემდეგ მისი მდგომარეობა შეცვლილი არ იქნება.