상속(Inheritance) : 기존의 클래스가 가지고 있는 필드와 메소드를 그대로 물려받은 새로운 클래스를 만드는 것 

## 클래스 선언
class Car :
    speed = 0

    def upSpeed(self, value) :
        self.speed = self.speed + value
        
    def downSpeed(self, value) :
        self.speed = self.speed - value

class Sedan(Car) :
    seatNum = 0

    def getSeatNum(self) :
        return self.seatNum

class Truck(Car) :
    capacity = 0
    
    def getCapacity(self) :
        return self.capacity

# 변수 선언
sedan1, truck1 = None, None

# 메인 코드 부분
sedan1 = Sedan()
truck1 = Truck()

sedan1.upSpeed(100)
truck1.upSpeed(80)

sedan1.seatNum=5
truck1.capacity=50

print("승용차의 속도는 %d km, 좌석수는 %d개입니다." % (sedan1.speed, sedan1.getSeatNum() ))
print("트럭의 속도는 %d km, 총중량은 %d개입니다." % (truck1.speed, truck1.getCapacity() ))


승용차의 속도는 100 km, 좌석수는 5개입니다.
트럭의 속도는 80 km, 총중량은 50개입니다.





오버라이딩(Overriding) : 상위 클래스 하위클래스에서 재정의


## 클래스 선언
class Car :
    speed = 0
    def upSpeed(self, value) :
        self.speed += value

        print("현재 속도(슈퍼 클래스) : %d km" % self.speed)
        
class Sedan(Car) :
    def upSpeed(self, value) :
        self.speed += value

        if self.speed > 150 :
            self.speed = 150

        print("현재 속도(서브 클래스) : %d km" % self.speed)

class Truck(Car) :
    pass

# 변수 선언
sedan1, truck1 = None, None

# 메인 코드 부분
truck1 = Truck()
sedan1 = Sedan()

print("트럭 --> ", end="")
truck1.upSpeed(200)

print("승용차 --> ", end="")
sedan1.upSpeed(200)


트럭 --> 현재 속도(슈퍼 클래스) : 200 km

승용차 --> 현재 속도(서브 클래스) : 150 km





from tkinter import *

window = Tk()
window.title("윈도창 연습")
# 이 부분에서 화면을 구성하고 처리
window.geometry("400x100")
window.resizable(width=FALSE, height=FALSE)

window.mainloop()



from tkinter import *

window = Tk()

# 함수 정의 부분
def myFunc() :
    if chk.get() == 0 :
        messagebox.showinfo("","체크버튼이 꺼졌어요.")
    else :
        messagebox.showinfo("","체크버튼이 켜졌어요.")

# 메인 코드 부분
chk = IntVar()
cb1 = Checkbutton(window, text="클릭하세요", variable=chk, command=myFunc)

cb1.pack()

window.mainloop()


'먼지 낀 책장사이 > Python' 카테고리의 다른 글

SQLite  (0) 2016.10.18
쓰레드  (0) 2016.10.11
Raw파일 읽기, 클래스, 생성자  (0) 2016.09.20
문자열, 구구단, 그림그리기  (0) 2016.09.13
가변 매개변수, 모듈  (0) 2016.09.06