Как используешь ООП в Python
Python
Senior
Без компании
Как используешь ООП в Python
Ответы
В Python ООП реализуется через классы, объекты, наследование, полиморфизм, инкапсуляцию и абстракцию.
**Пример класса:**
```
class Animal:
def __init__(self, name):
self.name = name # инкапсуляция (атрибут объекта)
def make_sound(self): # полиморфизм (метод можно переопределить)
raise NotImplementedError("Subclasses must implement this method")
class Dog(Animal): # наследование
def make_sound(self):
return "Woof!"
dog = Dog("Rex")
print(dog.name, dog.make_sound()) # Rex Woof!
```
**Ключевые моменты:**
- `__init__` — конструктор, инициализирует объект.
- Наследование (`class Child(Parent)`) позволяет переиспользовать код.
- Инкапсуляция: атрибуты можно защитить через `_name` (protected) или `__name` (private).
- Полиморфизм: методы работают по-разному в зависимости от класса.
- Абстракция: можно использовать абстрактные классы (`abc.ABC`).