패스트캠퍼스 챌린지 33일차 (Python)
# 상속이란
# 클래스들의 공통된 속성과 메서드를 뽑아내서 부모 클래스를 만든다.
# 이를 자식 클래스에서 상속받아 사용한다.
# 코드의 중복을 제거할 수 있다.
# 유지보수가 편리해진다.
class Item:
"""
속성 : 이름
메서드 : 줍기, 버리기
"""
def __init__(self, name):
self.name = name
def pick(self):
print(f"[{self.name}]을(를) 주웠습니다.")
def discard(self):
print(f"[{self.name}]을(를) 버렸습니다.")
class Weapon(Item):
"""
속성 : 공격력
메서드 : 공격하기
"""
def __init__(self, name, demage):
super().__init__(name)
# super은 부모 클래스를 호출
# .__init__ 생성자 호출
self.demage = demage
def attack(self):
print(f"[{self.name}]을(를) 이용해 {self.demage}로 공격합니다.")
class HealingItem(Item):
"""
속성 : 회복량
메서드 : 사용하기
"""
def __init__(self, name, recovery_amount):
super().__init__(name)
self.recovery_amount = recovery_amount
def use(self):
print(f"[{self.name}]을(를) 사용합니다. {self.recovery_amount} 회복")
m16 = Weapon("m16", 110)
bond = HealingItem("붕대", 20)
m16.attack()
bond.use()
from abc import *
# 추상클래스
# abstract method
# 상속받는 자식 클래스에서 추상 메서드를 강제한다.
class Item(metaclass = ABCMeta):
# from abc import *
# metaclass = ABCMeta
# @abstractmethod
"""
속성 : 이름
메서드 : 줍기, 버리기
"""
def __init__(self, name):
self.name = name
def pick(self):
print(f"[{self.name}]을(를) 주웠습니다.")
def discard(self):
print(f"[{self.name}]을(를) 버렸습니다.")
@abstractmethod
def use(self):
pass
class Weapon(Item):
"""
속성 : 공격력
메서드 : 공격하기
"""
def __init__(self, name, demage):
super().__init__(name)
# super은 부모 클래스를 호출
# .__init__ 생성자 호출
self.demage = demage
def use(self):
print(f"[{self.name}]을(를) 이용해 {self.demage}로 공격합니다.")
class HealingItem(Item):
"""
속성 : 회복량
메서드 : 사용하기
"""
def __init__(self, name, recovery_amount):
super().__init__(name)
self.recovery_amount = recovery_amount
def use(self):
print(f"[{self.name}]을(를) 사용합니다. {self.recovery_amount} 회복")
m16 = Weapon("m16", 110)
bond = HealingItem("붕대", 20)
m16.use()
bond.use()
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'FastCampus 강의 > Python' 카테고리의 다른 글
패스트캠퍼스 챌린지 34일차 (Python) (0) | 2022.02.26 |
---|---|
패스트캠퍼스 챌린지 32일차 (Python) (0) | 2022.02.24 |
패스트캠퍼스 챌린지 31일차 (Python) (0) | 2022.02.23 |
패스트캠퍼스 챌린지 30일차 (Python) (0) | 2022.02.22 |
패스트캠퍼스 챌린지 29일차 (Python) (0) | 2022.02.21 |