Какие знаешь концепции ООП
Python
Senior
Без компании
Какие знаешь концепции ООП
Ответы
Основные концепции ООП в Python:
- **Инкапсуляция** – сокрытие внутренней реализации и защита данных. В Python используется соглашение `_` и `__` для обозначения приватных атрибутов.
```
class BankAccount:
def __init__(self, balance):
self.__balance = balance # приватный атрибут
```
- **Наследование** – создание дочерних классов на основе родительских.
```
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
```
- **Полиморфизм** – возможность использования объектов разных классов через единый интерфейс.
```
def animal_sound(animal):
print(animal.speak())
animal_sound(Dog()) # Выведет "Woof!"
```
- **Абстракция** – создание упрощённых моделей с помощью абстрактных классов и методов.
```
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
```
Дополнительно в Python часто используют:
- **Композицию** (включение объектов других классов вместо наследования)
- **Миксины** (классы для добавления функциональности через множественное наследование)