Содержание

  1. SOLID
    1. SRP: Принцип единственной ответственности
    2. OCP: Принцип открытости/закрытости
    3. LSP: Принцип подстановки Лисков
    4. ISP: Принцип разделения интерфейса
    5. DIP: Принцип инверсии зависимостей
  2. Квадрат и прямоугольник
    1. Постановка задачи
    2. Источник проблем
    3. Возможные решения
      1. Отказ от изменений
        1. Возврат нового значения
        2. Возврат флага
        3. Исключения
      2. Отказ от наследования
        1. Полный
        2. Выделение общего базового класса
      3. Дополнительные действия
      4. Выделение модифицируемых сущностей
      5. Отказ от квадратов
  3. Равенство
    1. Свойства равенства
    2. Метод equals
    3. Метод hashCode

Экзаменационные вопросы

  1. Принципы SOLID
  2. Проблема квадрата и прямоугольника
  3. Равенство объектов

Практические навыки

  1. Умение определять необходимость наследования
  2. Умение реализовывать корректное сравнение объектов на равенство