Перейти к основному содержимому

О разделе

Раздел про объектно-ориентированное программирование без привязки к одному языку: определение парадигмы, класс и объект, абстракция данных, инкапсуляция, наследование, полиморфизм (подтипы, перегрузка, обобщения), инструменты проектирования. Теоретические формулировки согласованы с статьёй в Википедии и адаптированы под учебный стиль энциклопедии. Синтаксис C++ — в разделе C++.

Идеи здесь даются сначала на русском псевдокоде (КЛАСС, метод, НАСЛЕДУЕТ), затем — примерами на Java/C#/Python в статьях и в разделах языков. На старте пройдите этот маршрут до синтаксиса конкретного языка.

Листинги на языках программирования (от ~8 строк) вынесены в каталог code.spirzen.ru и подгружаются через ExternalCodeEmbed. Русский псевдокод, короткие фрагменты (1–7 строк), диаграммы mermaid и интерактивные демо остаются в статьях — последние подгружаются из play.spirzen.ru. Образец интеграции — Каталог примеров кода.


Рекомендуемый маршрут

ШагСтатьяЗачем
1Сложность, декомпозиция и ООПзачем объекты и границы модулей
2Введение в ООПкласс, объект, инстанцирование
3Абстракцияскрытие деталей; абстрактный класс и интерфейс
4Инкапсуляциямодификаторы доступа
5Наследованиеиерархии типов
6Полиморфизмединый интерфейс; обобщения — теория
7Перечисленияenum, закрытые типы
8Коллекциисписки, словари, перебор
9Итоги · чек-листзакрепление
10Частые паттерны GoFFactory, Observer, Strategy и др. после столпов ООП

Парадигмы и SOLID: Парадигмы и уровни абстракции. Паттерны: design-patterns, шпаргалка — Частые паттерны GoF в реальных проектах.


ООП в разделах языков

ЯзыкСтатья
PythonООП в Python
JavaООП в Java
C#ООП в C#
C++ООП в C++
JavaScriptОбъекты и прототипы
PHPООП в PHP
KotlinООП в Kotlin
SwiftООП в Swift
RustООП-паттерны в Rust
RubyООП в Ruby
Goструктуры и интерфейсы (композиция вместо классического наследования)
DartКлассы и ООП
GroovyООП в Groovy
LuaООП в Lua
SmalltalkООП-модель

В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

База программистаПарадигмы и уровни абстракции — о разделе, Зависимости — о разделе, Архитектура выполнения — о разделе, ORM и работа с данными — о разделе, Асинхронность — о разделе, Десктопные приложения — о разделе.