Как реализованы основные принципы ООП в Python
Python
Middle
Без компании
Как реализованы основные принципы ООП в Python
Ответы
Python поддерживает 4 основных принципа ООП:
**Инкапсуляция** - сокрытие внутренней реализации. В Python нет строгой инкапсуляции, но соглашение:
- Публичные атрибуты: `name`
- Защищённые (условно приватные): `_name`
- Приватные (name mangling): `__name`
```
class Person:
def __init__(self, name):
self.__name = name # приватный
def get_name(self): # публичный интерфейс
return self.__name
```
**Наследование** - создание дочерних классов:
```
class Animal:
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof!"
```
**Полиморфизм** - один интерфейс для разных типов:
```
def animal_sound(animal: Animal):
print(animal.make_sound())
dog = Dog()
animal_sound(dog) # Woof!
```
**Абстракция** - выделение общего интерфейса (в Python через ABC):
```
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
```
Python также поддерживает множественное наследование, миксины и другие продвинутые возможности ООП.