Cashier
클래스에는 원래 burger_price
라는 클래스 변수와 take_order
라는 메서드가 있었다.
이제 이것들을 추가해보자.
class Employee:
"""직원 클래스"""
# 가게 이름
company_name = "코드잇 버거"
# 시급 인상률
raise_percentage = 1.03
def __init__(self, name, wage):
"""인스턴스 변수 설정"""
self.name = name
self.wage = wage
def raise_pay(self):
"""시급을 인상한다."""
self.wage *= self.raise_percentage
def __str__(self):
"""직원 정보를 문자열로 리턴하는 메서드"""
return Employee.company_name + " 직원: " + self.name
class Cashier(Employee):
"""계산대 직원 클래스"""
# 햄버거 가격
burger_price = 4000
raise_percentage = 1.05
def __init__(self, name, wage, number_sold=0):
super().__init__(name, wage)
self.number_sold = number_sold
def take_order(self, money_received):
if Cashier.burger_price > money_received:
print("돈이 충분하지 않습니다. 돈을 다시 계산해서 주세요!")
return money_received
else:
self.number_sold += 1
change = money_received - Cashier.burger_price
return change
def __str__(self):
return Cashier.company_name + " 계산대 직원: " + self.name