고급 파이썬 개발 과정
챕터
>
레벨
고급 클래스
객체 상속
이 장에서는 Python에서 객체의 기능을 확장할 수 있는 다양한 기법과 클래스 전용 함수를 배우면서 클래스를 최대한 활용하는 방법을 탐구할 것입니다.
이번 레벨에서는 클래스의 가장 두드러진 확장 기능 중 하나인 객체 상속에 대해 배울 것입니다. 이 기능을 사용하면 다른 클래스의 함수를 상속받는 클래스를 생성하여 핵심 속성 세트를 유지하면서도 보다 동적인 객체를 만들 수 있습니다.

목표
클래스의 객체 상속을 사용하여 와인 병을 채우고 보관하세요.
이 방은 와인 병을 채우기 위해 사용되며, 아직 병에 담아 포장해야 할 와인 병이 몇 개 있습니다. 이를 가장 잘 달성하는 방법은 클래스를 사용하는 것입니다. 클래스는 다양한 특성을 가진 객체를 생성할 수 있게 해주며, 이 경우 다양한 종류의 와인 병을 생성할 수 있습니다. 클래스를 사용하여 생성된 객체는 다른 클래스의 특성을 상속받을 수 있으며, 이러한 클래스는 자식 클래스라고 하고, 더 많은 클래스를 생성하기 위한 기초로 사용되는 클래스는 부모 클래스라고 합니다.
# Parent Class
class wine_bottle:
color = ""
def set_bottle(self):
player.place("empty bottle")
# Child Class
class fill_bottle(wine_bottle):
def fill_bottle(self):
player.combine(["empty bottle", self.color + " wine"])
player.speak("The bottle's color is: %s" % self.color)
player.collect(self.color + "bottle")
두 개(2)의 클래스가 사용을 위해 설정되어 있습니다. 부모 클래스는 통 앞에 병을 배치하여 채우도록 사용되고, 자식 클래스는 와인 병을 결합하고 설정하는 데 사용됩니다. 자식 클래스는 부모 클래스의 속성을 상속받아 큰 노력 없이 다양한 병을 생성할 수 있게 해줍니다.
먼저 맵 상단에 있는 네 개(4)의 빈 병을 걸어가며 수집하세요. 병들을 수집한 후, 색깔이 있는 카펫 위에 있는 어두운 X 표시로 걸어가서 통 배급기와 맞서세요. 그 지역에서 만들어야 하는 와인의 색상을 나타내는 네 개(4)의 색깔 카펫이 있으며, 이는 각각: "green", "blue", "purple" 및 "yellow" 입니다.
어두운 X 표시 지점에서 자식 클래스를 사용하여 객체를 생성하세요. 예를 들어: green_bottle = fill_bottle() . 생성하려는 병에 맞게 객체의 이름을 지정하고, 생성 후 객체의 색상을 설정하고 기능을 활성화하세요.
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
각각의 X 표시에서 네 개(4)의 와인 병 모두에 대해 이 작업을 수행하세요. 모든 병이 설정되고 수집되면, 밝은 X 표시로 걸어가서 open() 함수를 사용해 와인 저장고의 문을 여세요. 예를 들어: player.open() . 그 다음 금색 X 표시로 걸어가서 생성한 병들을 와인 선반에 보관하세요.
모든 병을 bottles라는 리스트에 넣고, 와인 선반을 마주한 채로 place() 함수를 사용해 리스트를 보관하여 레벨을 완료하세요. 수집하게 될 네 개(4)의 병은: "green bottle", "blue bottle", "purple bottle" 및 "yellow bottle" 입니다.