Sobes.tech
Back to questions
Junior — Middle
50

Можете рассказать о принципах объектно-ориентированного программирования в языке Python?

Answer from AI

sobes.tech AI

Объектно-ориентированное программирование (ООП) в Python базируется на четырёх основных принципах:

  1. Инкапсуляция — объединение данных и методов, работающих с этими данными, в единый объект (класс). Это позволяет скрыть внутренние детали реализации и защитить данные от прямого доступа.

  2. Наследование — механизм, позволяющий создавать новый класс на основе существующего, наследуя его свойства и методы, что способствует повторному использованию кода.

  3. Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (методы) по-разному. В Python это достигается через переопределение методов.

  4. Абстракция — выделение существенных характеристик объекта, скрывая несущественные детали.

Пример класса в Python:

class Animal:
    def __init__(self, name):
        self.name = name  # инкапсуляция данных

    def speak(self):
        pass  # абстрактный метод

class Dog(Animal):  # наследование
    def speak(self):
        return f"{self.name} говорит: Гав!"  # полиморфизм

dog = Dog("Шарик")
print(dog.speak())  # Шарик говорит: Гав!