2016-05-25 26 views
-1

Ich versuche auf eine Variable aus einer anderen Klasse zuzugreifen. In meiner Model-Klasse versuche ich auf alle anderen Klassen zuzugreifen, die ich oben geschrieben habe. Zum Beispiel habe ich versucht, aus der Modellklasse (Position) auf die Ballklasse zuzugreifen. Aber ich bekomme einen Fehler, wenn ich versuche, darauf zuzugreifen.Python - aufrufende Klasse aus einer anderen Klasse

class Ball(object): 

    def __init__(self, x, y): 
     initialize variables 
     self._pos = (x, y) 

    def set_position(self, x, y): 
     self._pos = (x , y) 

    def get_position(self): 
     return self._pos 


class Model(object): 

    def __init__(self): 
     self._position = Ball().get_position() 

    def get_ball_position(self):   
     return self._position 

.

error : __init__() missing 2 required positional arguments: 'x' and 'y' 
+2

Sie müssen es Argumente geben, zum Beispiel 'Ball (4, 2)' –

Antwort

0

Als erstes müssen Sie eine Instanz einer Kugel in der Model-Klasse erstellen: self.ball = Ball(x, y)geben Sie die Koordinaten für (x, y). Dann Zugriffsmethoden von dem Objekt, das Sie erstellt haben. self.ball.get_position()

Beachten Sie, dass Sie hier self._position = Ball().get_position() versuchen, eine Instanz eines Balls zu erstellen und sie self._position zuzuweisen.

Sie möchten zuerst eine Instanz erstellen und dann die Methode für die Instanz aufrufen.

+0

Ich versuchte dies und es hat nicht funktioniert. Tut mir leid, ich bin neu in der Programmierung. Klasse Modell (Objekt): def __init __ (self): Ball = Ball (x, y) def get_ball_position (Selbst-): return ball.get_position() – Ceno

+0

Herausgegeben, auch finden Valentin Kommentar - Sie brauchen um es zu argumentieren – 009

Verwandte Themen