# Python (хороший пример)
from 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
@property
def height(self):
return self._height
def area(self):
return self._width * self._height
class Square(Shape):
def __init__(self, side):
self._side = side
@property
def side(self):
return self._side
def area(self):
return self._side ** 2
# Python (хороший пример)
from 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
@property
def height(self):
return self._height
def area(self):
return self._width * self._height
class Square(Shape):
def __init__(self, side):
self._side = side
@property
def side(self):
return self._side
def area(self):
return self._side ** 2