ООП и его принципы
4 ключевых принципа ООП
Принцип
Кратко
Пример в Python
Зачем нужен
В автоматизации тестирования
3. Пример кода: models.py
models.pyfrom abc import ABC, abstractmethod
# Абстрактный класс (абстракция)
class Shape(ABC):
@abstractmethod
def area(self):
pass
# Родительский класс
class Rectangle(Shape):
def __init__(self, width, height):
# Инкапсуляция
self._width = width
self._height = height
# Геттеры и сеттеры
@property
def width(self):
return self._width
@width.setter
def width(self, value):
if value > 0:
self._width = value
else:
raise ValueError("Width must be positive")
@property
def height(self):
return self._height
@height.setter
def height(self, value):
if value > 0:
self._height = value
else:
raise ValueError("Height must be positive")
# Полиморфизм — метод area будет реализован по-разному
def area(self):
return self._width * self._height
# Наследование
class Square(Rectangle):
def __init__(self, side):
super().__init__(side, side)
# Полиморфизм — переопределяем area (не обязательно, но можно)
def area(self):
return self._width ** 24. Пример автотеста: tests/test_models.py
tests/test_models.pyLast updated