반응형
어렵다... 점점 내 머릿속이 엉망진창이 되어가지만 일단 쭉 강의를 따라 가보자!
--오늘의 학습 범위--
Ch 08. 클래스
CH08_04. 오버라이딩,클래스변수
CH08_05. 클래스 실습문제
상속의 심화 과정
상속에 대한 예제 업그레이드
<z.B> RPG게임 업데이트
-지난 클래스에서 인스턴스 속성으로 3개의 스킬 추가하기.
-드래곤이 스킬을 쓰면 속성 중에 하나가 무작위로 사용됨
#오버라이딩
#상속 업그레이드
import random
class Monster:
def __init__(self,name,health,attack):
self.name =name
self.health = health
self.attack = attack
def move(self):
print(f"[{self.name}]지상에서 이동하기")
class wolf(Monster):
pass
class shark(Monster):
def move(self):
print(f"[{self.name}]헤엄치기")
class dragon(Monster):
#생성자 오버라이딩
def __init__(self, name, health, attack):
super().__init__(name,health,attack) # 부모클래스의 메서드 불러올 수 있음 (다 쓰기 귀찮으니까)
self.skills = ("불뿜기", "꼬리치기", "날개치기")
def move(self): #메서드 오버라이딩: 재정의
print(f"[{self.name}]날기")
def skill(self):
print(f"[{self.name}] 스킬 사용{self.skills[random.randint(0,2)]}")
#인스턴스 만들기
wolf =wolf("울프", 1500, 200)
wolf.move()
shark = shark("샤크",3000,400)
shark.move()
dragon = dragon("드래곤", 8000, 800) #네번째 인자 넣기 /변할리 없으니 튜플로 /
dragon.move()
dragon.skill()
클래스 변수
: 인스턴스들이 모두 공유하는 변수
인스턴스속성/변수들은 각자 인스턴스 만의 값을 가지고 있다. 모두가 공유하는 변수를 만들 경우가 필요하다면
그때 클래스 변수를 만들어서 공유한다.
*** max_num = 1000
private 변수
link :
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
반응형
'취미부자 > 취미1_코딩' 카테고리의 다른 글
패스트캠퍼스 챌린지 16일차 / Ch 09. 모듈 (0) | 2021.11.16 |
---|---|
패스트캠퍼스 챌린지 15일차 / 클래스 실습문제 (0) | 2021.11.15 |
패스트캠퍼스 챌린지 13일차 / 클래스 / 상속 (0) | 2021.11.13 |
패스트캠퍼스 챌린지 12일차 / 클래스/생성자 (0) | 2021.11.12 |
패스트캠퍼스 챌린지 11일차 / 클래스와 객체 (0) | 2021.11.11 |
댓글