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.