ABOUT ME

포소니는 나의 하루이자 누군가의 공감입니다. 조용히 머물러도 좋고, 가볍게 이야기를 남겨도 좋아요. 당신의 일상도, 이곳에 스며들길 바랍니다.

Today
Yesterday
Total
  • python class
    Tech/Python 2019. 1. 3. 00:35
    반응형
    """
    - 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

    def drive(self):
    if self.age >= 18:
    print('OK')
    else:
    raise Exception("Can't drive")

    # 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


    반응형

    'Tech > Python' 카테고리의 다른 글

    타입 힌팅  (0) 2019.01.06
    함수를 변수처럼 전달하기  (0) 2019.01.06
    python 다중 상속  (0) 2019.01.06
    python command line args  (0) 2019.01.01
    Python Basic  (0) 2019.01.01
Designed by Tistory.