320x100
# 다중 상속
class Car01:
def drive(self):
print('drive method called')
class Car02:
def turbo(self):
print('turbo method called')
class Car03:
def fly(self):
print('fly method called')
class Car(Car01, Car02, Car03):
def __init__(self):
pass
boor = Car()
boor.drive()
boor.turbo()
boor.fly()
# 이쯤되면 궁금해지는게 있다.
# 왜 어떨땐 init을 쓰고 어떨땐 안쓰는가
# 초기화라는 개념이 구체적으로 어떤것이며 필요한가
# 뭔가가 이상해서 검색하다 말았다. 나중에 알아보자
class BasicCalculator:
def add(self, n1, n2):
return n1 + n2
def sub(self, n1, n2):
return n1 - n2
def mul(self, n1, n2):
return n1 * n2
def div(self, n1, n2):
return n1 / n2
class DeveloperCalculator:
def mod(self, n1, n2):
return n1 % n2
def flo(self, n1, n2):
return n1 // n2
def exp(self, n1, n2):
return n1 ** n2
class NewCalculator(BasicCalculator, DeveloperCalculator):
def __init__(self):
pass
# ..... 이쯤되면 혼란스럽다. 어떤건 상속할때 super()가 필요하고 어떤건 필요가 없고
# 어떤건 init이 필요하고 어떤건 필요없고
cal = NewCalculator()
print(cal.add(10,20))
print(cal.sub(10,20))
print(cal.mul(10,20))
print(cal.div(10,20))
print(cal.flo(10,20))
print(cal.exp(10,20))
print(cal.mod(10,20))
300x250
'개발일지 > Python' 카테고리의 다른 글
파이썬 class(클래스) 상속 기초원리7 추상클래스 ABCMeta, abstractmethod (0) | 2022.05.20 |
---|---|
파이썬 class(클래스) 상속 기초원리6 재정의(오버라이딩) (0) | 2022.05.20 |
파이썬 class 상속 기초원리4 init 메소드 기초활용 super() (0) | 2022.05.20 |
파이썬 class(클래스) 상속 기초원리3 부모class의 상속시 init초기화 super() (0) | 2022.05.20 |
파이썬 class(클래스) 상속 기초원리2 단독 class이용시 주의사항 (0) | 2022.05.20 |