Приведи примеры с ООП в Python
Python
Junior
Без компании
Приведи примеры с ООП в Python
Ответы
В Python ООП реализуется через классы, объекты, наследование, полиморфизм, инкапсуляцию и абстракцию.
**Пример класса и объекта:**
```
class Dog:
def __init__(self, name, age):
self.name = name # атрибут
self.age = age # инкапсуляция (публичный доступ)
def bark(self): # метод
print(f"{self.name} says Woof!")
my_dog = Dog("Rex", 3) # объект
my_dog.bark() # вызов метода
```
**Наследование:**
```
class Bulldog(Dog): # наследует от Dog
def __init__(self, name, age, weight):
super().__init__(name, age)
self.weight = weight
def bark(self): # полиморфизм (переопределение метода)
print(f"{self.name} says Grr!")
```
**Инкапсуляция (приватные атрибуты):**
```
class Secret:
def __init__(self):
self.__hidden = "private" # приватный атрибут (name mangling)
def get_hidden(self): # геттер
return self.__hidden
```
**Абстракция (ABC):**
```
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def sound(self):
pass
class Cat(Animal):
def sound(self):
print("Meow!")
```