Python/Python기초

Python 메서드,상속,오버라이딩

도전하는일반인 2021. 8. 18. 20:02

메서드를 클래스안에 정의해주고

위 코드처럼 firebat을 AttackUnit으로 생성해주고

firebat.attack과 같이 메서드를 써주면 된다.

 

 

Unit클래스를 만들고

Unit 클래스와 AttackUnit클래스랑 겹치는 부분을 Unit클래스로 상속받아서 사용하려고 한다.

 

 

AttackUnit(Unit)으로 상속을 해주고 Unit.__init__을 사용해서 (self, name, hp)를 넣어주면 AttackUnit이 Unit을 상속 받을 수 있다.

 

Flyable 클래스를 생성해주고

FlyableAttackUnit 클래스 안에 AttackUnit, Flyable안에 다중 상속을 했다.

상속받은 클래스는 항상 self를 써주어야 한다.

 

FlyableAttackUnit은 AttackUnit을 상속받았고 AttackUnit은 Unit을 상속 받으면서 Flyable을 상속받았다 (다중 상속)

 

 

FlyAttackUnit은 AttackUnit을 상속받았고 AttackUnit은 Unit을 상속받았다.

Unit의 Move를 FlyAttackUnit에서 재정의 하는것이 오버라이딩이다.

 

새롭게 재정의한 Move함수가 사용이 된다.

'Python > Python기초' 카테고리의 다른 글

Python 예외처리  (0) 2021.08.19
Python pass,super  (0) 2021.08.18
Python 클래스  (0) 2021.08.18
Python pickle  (0) 2021.08.17
Python 파일 입출력  (0) 2021.08.12