I have 3 classes :
class Scene(object):
def enter(self):
pass
class CentralCorridor(Scene):
def enter(self):
pass
class Map(object):
def __init__(self, start_game):
pass
And the class map is initiated like this :
a_map = map('central_corridor')
It means that there is a map(obviously not graphical like a maze let's suppose) in which the first scene of the game(the game is like zork) is central corridor.
So I want to use the enter method of the class CentralCorridor in the map class but I am confused by the fact that the class CnetralCorridor itself inherits from the class Scene. I don't know how can I use the delegation method as explained here : http://stackoverflow.com/a/2797332/2572773
解决方案
1) It's a good practice for Python classes to start with an uppercase letter.
Furthermore, the name map is a built-in python function.
2) what's wrong with passing a Scene instance on your map class?
class Map(object):
def __init__(self, scene):
self.scene = scene
def enter(self):
self.scene.enter()
a_map = Map(CentralCorridor())