회원가입

8. [상속] 상속 IV (기능 추가하기)

NULL 2021-10-11

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
0 0