База знаний Бинариум

ООП простыми словами: классы, объекты и 4 принципа на примерах Java

ООП простыми словами

ООП часто объясняют через определения, которые хочется перечитать трижды. Попробуем иначе — через кофейню. В ней есть напитки, бариста и касса, и каждый знает свою работу. Примерно так устроены и программы на Java.

Б

Редакция Бинариума

Пишем о профессиях в дизайне, BIM и IT · 8 минут чтения

Класс и объект

Класс — это чертёж, объект — вещь, сделанная по этому чертежу. Класс «Кофе» описывает, что у любого кофе есть название и объём. Объект — конкретная чашка капучино на 300 мл.

class Coffee {
  String name;
  int volume;
}

Coffee cup = new Coffee();
cup.name = "Капучино";
cup.volume = 300;

Инкапсуляция

Посетитель не лезет в кофемашину — он нажимает кнопку. Так же и в коде: данные объекта скрыты, а работать с ними можно только через методы, которые проверяют правильность.

class Coffee {
  private int volume;

  public void setVolume(int v) {
    if (v <= 0) throw new IllegalArgumentException("Объём должен быть больше нуля");
    volume = v;
  }
}

Наследование

Латте и американо — это всё кофе, у них общие свойства. Наследование позволяет описать общее один раз, а в наследниках добавить особенности.

class Latte extends Coffee {
  int milk;
}

Курс Бинариума

Java-разработчик с нуля — ООП на практических задачах

Подробнее

Полиморфизм

Бариста получает заказ «приготовь напиток» — и готовит его по-разному в зависимости от того, что заказано. В коде один и тот же метод работает по-разному у разных классов.

interface Drink { void prepare(); }

class Tea implements Drink {
  public void prepare() { System.out.println("Завариваем чай"); }
}
class Espresso implements Drink {
  public void prepare() { System.out.println("Варим эспрессо"); }
}

Абстракция

Кассиру не нужно знать, как устроена кофемашина, — ему нужен список напитков и цены. Абстракция означает, что мы описываем только важное для задачи и скрываем детали.

ПринципСуть одной фразой
ИнкапсуляцияСкрываем данные, даём безопасные способы работы с ними
НаследованиеОписываем общее один раз и переиспользуем
ПолиморфизмОдин интерфейс — разное поведение
АбстракцияПоказываем только важное для задачи

Главное

  • Класс — чертёж, объект — экземпляр по чертежу.
  • Инкапсуляция защищает данные от некорректных изменений.
  • Наследование и интерфейсы убирают дублирование кода.
  • Полиморфизм позволяет работать с разными объектами одинаково.

Частые вопросы

Почему ООП так важно в Java?

Java изначально объектно-ориентированный язык: почти весь код в ней — это классы и объекты.

Как быстрее понять ООП?

Моделировать знакомые системы: магазин, библиотеку, банк. Через практику принципы становятся очевидными.

Курс Бинариума

Java-разработчик с нуля

ООП, коллекции, исключения и тесты — на практике.

  • 11 недель обучения
  • 10+ практических работ
  • Проект в портфолио на GitHub
10.11.2026
Читайте также