Для чего нужна абстракция
Python
Middle
Без компании
Для чего нужна абстракция
Ответы
Абстракция в Python (и программировании в целом) позволяет скрыть сложную реализацию, предоставляя только необходимый интерфейс для работы. Это упрощает использование кода, уменьшает сложность и повышает переиспользуемость.
**Пример:**
```
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof!"
class Cat(Animal):
def make_sound(self):
return "Meow!"
# Использование абстракции
def animal_sound(animal: Animal):
print(animal.make_sound())
dog = Dog()
cat = Cat()
animal_sound(dog) # Woof!
animal_sound(cat) # Meow!
```
Здесь `Animal` — абстрактный класс, который определяет общий интерфейс (`make_sound`), а конкретные классы (`Dog`, `Cat`) реализуют его. Это позволяет работать с любыми животными единообразно.