高级 Python 开发课程
第 章
>
第 级
高级类
对象继承
在本章中,我们将探讨如何充分利用类,并学习各种技术以及特定于类的函数,从而扩展 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" 。