我正在写一些基于文本的游戏,我对课程和初始化有一些想法等等。
我知道如果我制作一个"蓝图"我可以使用课程。为了一件事。我对如何使用__init__
有点不确定,虽然我认为我可以通过测试来解决这个问题。我想知道的是,我可以使用类进行操作吗?比如说,我想在体育馆上课,也许是培训课程。我需要一种功能来进行各种运动(在这种情况下为3种),因为它们确实不同;游泳和跑步,举重和打网球。所以你可以选择你想要做的练习,然后你就可以做到这一点,然后你可以再做一次,然后你就完成了什么。
我想要使用一个类的原因是我会有变量,例如条件,力量和技术,我可以使用这些变量,而我在健身房但是他们赢了'改变。而且我可以更简单地去健身房。我可以使用一个类,然后只需使用class.function()
来调用函数吗?
另外,你总是需要__init__
吗?因为在这种情况下我没有理由使用它,对吗?
我希望你理解我所问的问题,如果你不理解,我可以尝试解释一下。
答案 0 :(得分:2)
虽然我不太熟悉Python,但我想我可以提供一些一般的OOP建议。
首先,类类似于"现实生活中的对象抽象",所以让一个类来表示一个动作似乎有点奇怪。
现在,作为类实例的对象具有两个主要特征:
所以,我们假设你有一个班级Athlete
,它有strength
,skill
,weight
等属性。这些是一般属性,任何运动员都有。
但是现在你需要那个运动员成为跑步者,你需要为跑步者设置附加属性(让我们说specialty
,如果跑步者是短跑运动员或者是短跑运动员,可以采用不同的值。马拉松运动员,例如)。而不是为跑步者写一个全新的课程,毕竟 是运动员,你只需要写一个 Sub class 的运动员,并添加所有特定的参数与Runner
。
所以,编写时间:
class Athlete:
def __init__(self, strength, skill, weight):
self.strength = strength
self.skill = skill
self.weight = weight
def anAthleteMethod(self):
pass
class Runner(Athlete):
def __init__(self, strenght, skill, weight, specialty):
super(Athlete, self, strenght, skill, weight)
self.specialty = specialty
def run(self):
pass
所以,最后,回答你的问题:
Sport
,可以让运动员参加任何您希望他做的事情。