Sobes.tech
Junior — Middle

Javaда класс түзүүдө аны өзгөртпөстөн калдыру үчүн кайсы принциптерди колдонуу керек?

sobes.tech AI

AIден жооп

Javaда классды immutable (өзгөртүлбөс) кылуу үчүн, бир нече принципти сактоо керек:

  1. Классды final деп жарыялоо — анткени анын муундары түзүлбөйт жана жүрүм-турумду өзгөртүүгө мүмкүнчүлүк бербейт.
  2. Бардык талааларды private жана final кылуу — анткени алар инициализациядан кийин өзгөртүлбөйт.
  3. Setters (талдарды өзгөртүүчү методдор) камсыз кылбоо.
  4. Бардык талааларды конструктор аркылуу инициализациялоо.
  5. Эгер талаалар өзгөрүлмө объекттерге шилтемелер болсо (мисалы, массивдер, коллекциялар), аларды берүү жана кайтарууда көчүрмөлөрүн түзүү, сырттан жасалган өзгөртүүлөр ички абалды таасир этпесин.

Мисал:

public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Мындай класс, объект түзүлгөндөн кийин, анын абалын өзгөртүүгө мүмкүнчүлүк бербейт, бул көптөгөн учурларда, мисалы, жиптердин коопсуздугу жана жүрүм-турумдун алдын ала билүү үчүн пайдалуу.