Sobes.tech
Back to questions
Middle
6

Назови основные принципы ООП и как они реализованы в Python?

Companies where asked
Mayflower

Answer from AI

sobes.tech AI

Основные принципы ООП:

  • Инкапсуляция — объединение данных и методов, работающих с ними, в одном объекте, скрытие внутренней реализации.
  • Наследование — создание новых классов на основе существующих, позволяющее переиспользовать код.
  • Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (методы) по-разному.
  • Абстракция — выделение существенных характеристик объекта, скрывая детали реализации.

В Python эти принципы реализованы через классы и объекты. Например:

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())  # полиморфизм

Инкапсуляция достигается с помощью соглашений о приватности (например, _private или __private), наследование — через определение подклассов, полиморфизм — через переопределение методов, абстракция — через базовые классы и интерфейсы.