TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #3381 5.42K
Простыми словами: Основные концепции ООП

Понять объектно-ориентированное программирование на старте изучения может быть сложно. Поэтому мы постараемся объяснить вам основные концепции максимально простым языком.

Для начала разберёмся с тем, что же такое объекты, а затем пройдёмся по основным концепциям — наследованию, абстракции, инкапсуляции и полиморфизму:

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

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

Объект — это конкретный экземпляр класса. Если класс — это рецепт, то объект — это готовое блюдо по этому рецепту.

class Кот:
def __init__(self, имя):
self.имя = имя

def мяукать(self):
print(f"{self.имя} говорит: Мяу!")

мой_кот = Кот("Мурзик")
мой_кот.мяукать()


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

Наследование позволяет создавать новый класс на основе существующего. Это как брать основу от одного рецепта и добавлять свои изменения.

class Животное:
def дышать(self):
print("Дышу")

class Кот(Животное):
def мяукать(self):
print("Мяу!")

кот = Кот()
кот.дышать()
кот.мяукать()


2. Абстракция

Абстракция — это концепция, позволяющая скрыть сложность системы, выделяя только ключевые аспекты и упрощая взаимодействие с объектами. Это как пользоваться телевизором: вы знаете, какие кнопки нажимать, но не обязаны понимать, как работает вся электроника внутри.

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

Инкапсуляция — скрытие внутренней реализации объекта от внешнего мира и предоставление доступа только через определённые методы. Это как секретный ингредиент у шеф-повара, который скрыт от всех, кроме него.

class Кот:
def __init__(self, имя):
self.__имя = имя # сокрыто (private)

def получить_имя(self):
return self.__имя

def мяукать(self):
print(f"{self.__имя} говорит: Мяу!")

кот = Кот("Мурзик")
print(кот.получить_имя())
кот.мяукать()


4. Полиморфизм

Полиморфизм позволяет использовать один интерфейс для разных типов объектов. Это как использовать одного и того же шеф-повара, чтобы готовить по разным рецептам.

class Животное:
def издать_звук(self):
pass

class Кот(Животное):
def издать_звук(self):
print("Мяу!")

class Собака(Животное):
def издать_звук(self):
print("Гав!")

животные = [Кот(), Собака()]

for животное in животные:
животное.издать_звук()


Само собой тема ООП гораздо более обширна и содержит множество различных нюансов, которые не описать в одном посте. Но даже эти знания помогут вам в дальнейшем проще и быстрее разобраться во всех тонкостях.

Если вам понравился пост, поставьте ❤️ и мы обязательно расскажем о чём-то ещё.

#простымисловами #ооп
  • ❤ 37
  • 👍 4
  • 🎉 2
  • 🫡 1
  • 🆒 1
More from @prog_point
  1. Oct 2, 2026Как превратить объект JavaScript в JSON и обработать ошибку разбора JSON пригодится, когда…
  2. Oct 2, 2026Первое изменение проекта в GitHub Copilot app: как проверить результат Возьмите небольшой…
  3. Oct 2, 2026Как понять оси Flexbox и перестать путать выравнивание Соберите контейнер с тремя блоками…
  4. Oct 1, 2026Как сделать прилипающие заголовки списка на CSS Соберите список контактов, в котором буква…
  5. Oct 1, 2026Как извлекать данные из объектов и массивов в JavaScript Деструктуризация создаёт отдельны…
  6. Oct 1, 2026Семь ошибок индексации PostgreSQL и как их проверить Индекс помогает PostgreSQL быстрее на…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →