49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
|
|
from inspect import stack
|
|
|
|
|
|
class Product(object):
|
|
|
|
def __init__(self):
|
|
print(stack())
|
|
self._product_id: int = 0
|
|
self._name: str = ''
|
|
self._price_member: int = 0
|
|
self._price_non_member: int = 0
|
|
raise NotImplementedError('This shoudt not be called!')
|
|
|
|
def __init__(self,
|
|
product_id: int,
|
|
name: str,
|
|
price_member: int,
|
|
price_non_member: int):
|
|
if product_id == -1:
|
|
raise ValueError('Invalid product ID')
|
|
self._product_id: int = product_id
|
|
self._name: str = name
|
|
self._price_member: int = price_member
|
|
self._price_non_member: int = price_non_member
|
|
|
|
@property
|
|
def id(self) -> int:
|
|
return self._product_id
|
|
|
|
@property
|
|
def name(self) -> str:
|
|
return self._name
|
|
|
|
@property
|
|
def price_member(self) -> int:
|
|
return self._price_member
|
|
|
|
@price_member.setter
|
|
def price_member(self, price: int):
|
|
self._price_member = price
|
|
|
|
@property
|
|
def price_non_member(self) -> int:
|
|
return self._price_non_member
|
|
|
|
@price_non_member.setter
|
|
def price_non_member(self, price: int):
|
|
self._price_non_member = price
|