Python_38_ 상속2

hyeong taek jo·2023년 9월 15일

Python

목록 보기
42/53
class HousePark:
    lastname = "Park "
    def __init__(self, name):
        self.fullname=self.lastname+name
    def travel(self, where):
        print('%s %s 여행을 가네' % (self.fullname , where))
    def love(self, other):
        print("%s, %s 사랑하네 " % (self.fullname, other.fullname))
    def fight(self, other):
        print("%s, %s 전쟁났네 " % (self.fullname, other.fullname))
    def __add__(self, other):
        print("%s, %s 결혼하네 " % (self.fullname, other.fullname))
    def add3(self, a, b):
        k = a+b
        print("2덧셈 %d + %d = %d 입니다." % ( a, b, k))
    def __sub__(self, other):
        print("%s, %s 각방 쓰네" % (self.fullname , other.fullname))

class HouseKim(HousePark):
    lastname = "Kim "
    def travel(self, where, day):
        print("%s %s으로 여행 %d일 가네" % (self.fullname , where, day))

    def add3(self, a, b, c, d):
        k = a+b+c+d
        print("4덧셈 %d + %d + %d + %d = %d 입니다." % (a, b, c, d, k))

romio = HousePark("Adam")
julet = HouseKim('Eve')
romio.travel("정동진")
julet.travel("정동진", 3)
romio.love(julet)

romio + julet       # 그냥 인스턴스끼리 +를 하면 내장메서드인 __add__를 불러온다고 생각할 것
# romio.add(julet)  # 위 아래는 모두 동일한것이다. 하지만 위에것을 많이 쓴다
romio.__add__(julet)

romio.add3(3, 5)
# julet.add3(3, 5, 7)
julet.add3(3, 5, 7, 9)
romio.fight(julet)
romio - julet

Park Adam 정동진 여행을 가네
Kim Eve 정동진으로 여행 3일 가네
Park Adam, Kim Eve 사랑하네
Park Adam, Kim Eve 결혼하네
Park Adam, Kim Eve 결혼하네
2덧셈 3 + 5 = 8 입니다.
4덧셈 3 + 5 + 7 + 9 = 24 입니다.
Park Adam, Kim Eve 전쟁났네
Park Adam, Kim Eve 각방 쓰네

profile
마포구 주민

0개의 댓글