Встречается на собеседованиях • сегодня

Что такое инвариантность класса

Инвариант класса — это условие или набор условий, которые всегда должны выполняться для объектов класса в течение их жизненного цикла (кроме, возможно, момента внутри метода). Это гарантирует корректное состояние объекта.

Пример:

python
class BankAccount:
    def __init__(self, balance: float):
        self._balance = balance
        # Инвариант: баланс не может быть отрицательным
        assert self._balance >= 0, "Balance cannot be negative"
text
def withdraw(self, amount: float):
    # Проверяем инвариант перед операцией
    assert self._balance - amount >= 0, "Insufficient funds"
    self._balance -= amount
    # Проверяем инвариант после операции
    assert self._balance >= 0, "Balance became negative"
text

Ключевые моменты:
1. Инварианты проверяются в конструкторе
2. Проверяются до и после изменяющих методов
3. Нарушение инварианта — ошибка в логике класса
4. Часто проверяются через assert (в продакшне можно отключить)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы