Sobes.tech
Junior — Middle
89

Объектілердің өзгермейтіндігі не білдіреді және оның артықшылықтары мен кемшіліктері қандай?

AI-дан жауап

sobes.tech AI

Объектілер өзгермейтін (immutable) деп саналады, егер оларды құрғаннан кейін олардың күйі өзгертілмесе — барлық өрістер тұрақты болып қалады.

Артықшылықтары:

  • Жол қауіпсіздігі: өзгермейтін объектілер көп ағынды ортада синхрондаусыз қолданылуы мүмкін.
  • Қарапайымдылық: тұрақты күй қателер санын азайтады.
  • Кэштеу және қайта пайдалану: өзгермейтін объектілер қауіпсіз түрде сақталып, тасымалдануы мүмкін.

Кемшіліктері:

  • Өнімділік: объектіні өзгерту үшін жаңа объект құру керек, бұл қосымша жад пен уақыт шығынын тудыруы мүмкін.
  • Икемділік: кейде ыңғайсыз, әсіресе объект жиі өзгертілсе.

Java-да өзгермейтін объектілер әдетте:

  • final өрістерді қолдану
  • сеттерлердің болмауы
  • барлық өрістерді конструктор арқылы инициализациялау

Мысал:

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; }
}

Мұндай объектіні құрғаннан кейін өзгерту мүмкін емес.