""" - person class 를 extends 하여 baby 와 adult class 를 만든다. - person class 는 기본적으로 age 속성을 가진다. - person class 는 drive 기능을 가지고 있다. * 18세 이상이면 운전이 가능 하며, 아니면 운정을 할 수 없다. - baby class 의 age 값은 18 이하 여야 한다. - adult class 의 age 값은 18 이상이어야 한다. - 자동차 클래스는 모델 과 running, ride 기능을 가지고 있다. -- ride 는 person 객체를 인자로 받아 운전 기능을 수행 하도록 한다. """ ## Base class 가 될 person class class Person(object): def __init__(self,age = 0): self.age = age
# Person class 상속한 baby class class Baby(Person): def __init__(self,age = 1): if age < 18: super().__init__(age) else: raise ValueError # Person class 상속한 adult class class Adult(Person): def __init__(self,age = 18): if age >= 18: super().__init__(age) else: raise ValueError # Car class class Car(object): def __init__(self,model=None): self.__model = model
def run(self): print('Running')
# Person 객체를 인자 값으로 받도록 하고, person 의 ride 기능을 호출 def ride(self,Person): Person.drive()
### 사용 baby = Baby() adult = Adult() car = Car() car.ride(adult) # output -> OK car.ride(baby) # ouput -> Exception: Can't drive