Sobes.tech
Back to questions
Junior — Middle
72

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

Answer from AI

sobes.tech AI

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

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

  2. Инкапсуляция — скрытие внутренней реализации объекта и предоставление доступа к данным через методы. В Python для этого используются соглашения по именованию (например, _protected, __private), хотя строгой защиты нет.

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

  4. Абстракция — выделение общих характеристик и поведения, скрывая детали реализации. В Python можно использовать абстрактные базовые классы (ABC) из модуля abc.

Пример наследования и полиморфизма:

class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return "Гав"

class Cat(Animal):
    def speak(self):
        return "Мяу"

animals = [Dog(), Cat()]
for animal in animals:
    print(animal.speak())  # Выведет "Гав" и "Мяу"