Принципы ООП:
Назови базовые принципы ООП (полиморфизм, инкапсуляция, абстракция, наследование) и объясни каждый.
Принципы ООП:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Принципы ООП:
- Инкапсуляция — скрытие внутренней реализации объекта и предоставление доступа к данным через методы. Это защищает состояние объекта от некорректного изменения.
- Наследование — механизм, позволяющий создавать новый класс на основе существующего, наследуя его свойства и методы, что способствует повторному использованию кода.
- Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (методы) по-разному. В Python это достигается через переопределение методов в подклассах.
- Абстракция — выделение существенных характеристик объекта, скрывая детали реализации. В Python можно использовать абстрактные классы и методы из модуля
abc.
Пример на Python:
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def sound(self):
pass
class Dog(Animal):
def sound(self):
return "Woof"
class Cat(Animal):
def sound(self):
return "Meow"
# Использование
animals = [Dog(), Cat()]
for animal in animals:
print(animal.sound()) # Полиморфизм
Здесь Animal — абстрактный класс (абстракция), Dog и Cat наследуют его, реализуя метод sound (наследование и полиморфизм). Инкапсуляция проявляется в том, что внутренние данные класса могут быть скрыты, а доступ к ним — через методы.