상속(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 |