Prog Academy
RU UA
Программирование

Что такое ООП (объектно-ориентированное программирование)?

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

У подхода четыре опорных принципа. Инкапсуляция прячет внутреннее устройство и открывает наружу только безопасные операции. Наследование позволяет строить новый класс на основе существующего. Полиморфизм даёт разным классам отвечать на один и тот же вызов по-своему. Абстракция оставляет в интерфейсе только то, что важно снаружи.

Смысл всего этого — управляемость. В большой системе изменения должны затрагивать ограниченный участок кода, а не расходиться волной по всему проекту. ООП — базовая модель в Java, C# и Python, поэтому вопросы о нём звучат почти на каждом собеседовании.

Связанные термины

Programming

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

Java

Java — строго типизированный объектно-ориентированный язык программирования, на котором пишут корпоративные системы, банковские сервисы, backend крупных сайтов и Android-приложения. Программа компилируется в байт-код и выполняется на виртуальной машине JVM.

C#

C# — строго типизированный объектно-ориентированный язык программирования от Microsoft. Он работает на платформе .NET — среде выполнения со стандартной библиотекой и инструментами, на которой строят веб-сервисы, десктопные приложения, игры на Unity и корпоративные системы.

Python

Python — язык программирования с простым, близким к английскому синтаксисом, который применяют в анализе данных, машинном обучении, backend-разработке и автоматизации. Он универсален и при этом считается самым доступным для первого языка.

Framework

Фреймворк — это готовый каркас приложения: он задаёт структуру проекта, порядок выполнения и берёт на себя типовые задачи, а разработчик дописывает код в предусмотренных местах. Правила игры устанавливает фреймворк, а не вы.