본문 바로가기

python

class - 다중 상속

 

다중 상속

클래스를 다중 상속받는 경우 상속받는 순서 중 앞 순서를 우선으로 반영한다

# 다중 상속 : 순서가 중요

class Tiger:
    data = "호랑이 세상"
    
    def cry(self):
        print('호랑이는 어흥')
    
    def eat(self):
        print('맹수는 고기를 좋아함')

class Lion:
    def cry(self):
        print('사자는 으르렁')
    
    def hobby(self):
        print('백수의 왕은 낮잠을 즐김')

class Liger1(Tiger, Lion):    #다중 상속
    pass

a1 = Liger1()
a1.cry()
a1.eat()
a1.hobby()
print(a1.data)

호랑이는 어흥
맹수는 고기를 좋아함
백수의 왕은 낮잠을 즐김
호랑이 세상

 

 

다중 상속 받는 경우 부모를 참고하는 형태

class Liger2(Lion, Tiger):
    data = '라이거 만세'
    
    def hobby(self):
        print('라이거는 자바를 좋아함')
    
    def showData(self):
        print(self.data, ' ',super().data)
        self.hobby()
        super().hobby()
        
a2 = Liger2()
a2.cry()
a2.hobby()
a2.showData()

사자는 으르렁
라이거는 자바를 좋아함
라이거 만세   호랑이 세상
라이거는 자바를 좋아함
백수의 왕은 낮잠을 즐김

'python' 카테고리의 다른 글

class - 추상 클래스 예제  (0) 2022.10.11
class - 추상클래스  (0) 2022.10.11
class - method override (재정의)  (0) 2022.10.11
class - 클래스 상속  (0) 2022.10.11
파이썬 내장함수 - map, filter  (0) 2022.10.09