포함(Composition)
객체지향 (포함 : Composition)
- 한 클래스 내에서 다른 클래스의 특정한 기능만을 사용하려 할 때 사용함
class Attack:
def __init__(self, damage, speed, crit):
self.damage = damage
self.speed = speed
self.crit = crit
def atkscore(self):
return self.damage * self.speed * self.crit
def maxrate(self):
return self.crit * 100
def sprate(self):
return self.speed * self.crit
class Double_Attack:
def __init__(self, damage, speed, crit):
self.damage = damage
self.speed = speed
self.crit = crit
def atkscore(self):
return self.damage * self.speed * self.crit
def maxrate(self):
return self.crit/2 * 100
def sprate(self):
return self.speed * self.crit
Attack 클래스에서 self.damge * self.speed * self.crit과 self.crit * 100, self.speed * self.crit을 리턴
Double_Attack 클래스에서 self.damge * self.speed * self.crit과 self.crit/2 * 100, self.speed * self.crit을 리턴
class Double_Attack:
def __init__(self, damage, speed, crit):
self.damage = damage
self.speed = speed
self.crit = crit
self.attack = Attack(speed,crit)
def atkscore(self):
return self.damage * self.speed * self.crit
def maxrate(self):
return self.crit/2 * 100
def sprate(self):
return self.attack.sprate()
Double_Attack에서 self.speed * self.crit 대신 Attack 클래스의 speed*crit을 리턴