2013-02-17 5 views
-1

Donc je crois que j'ai terminé ma classe Point, mais maintenant je dois créer une classe Circle avec la classe Point.Utilisation d'une classe personnalisée dans une autre classe? Comment utiliser la classe Point dans une classe Circle?

Les variables de la classe Circle sont x, y et r (x, y sont les coordonnées du point central et r est le rayon). Je suppose que 'créer' un point pour stocker x et y, qu'est-ce que cela signifie? Puis-je simplement définir une variable privée en utilisant Point?

Comment créer cette connexion entre 2 classes?

+0

* «Je suis supposé 'créer' un point pour stocker x et y, qu'est-ce que cela signifie? Puis-je simplement définir une variable privée en utilisant Point? "* C'est probablement comme cela que je le ferais, mais vous devriez demander à celui qui a défini cette tâche. Nous ne pouvons pas répondre pour eux. –

+0

* "Comment créer cette connexion entre 2 classes?" * Il est préférable de garder une question par ..question. J'ai voté pour clore la première question, mais j'ai fourni une réponse à la deuxième. –

Répondre

2

Vous pouvez avoir un point dans votre classe de cercle

public class Circle() 
{ 
    private Point center; 
    private int radius; 

    public Circle(Point center, int radius) 
    { 
     this.center = center; 
     this.radius = radius; 
    } 

    Public Circle(int x, int y, int radius) 
    { 
     this(new Point(x, y), radius); 
    } 

    ... 
} 
+0

Whoa, c'était rapide. Ok, en supposant que je définis mes variables privées comme point A et int r au début, alors ce serait ce.center = A, n'est-ce pas? Je veux juste être sûr de savoir quelle variable correspond à quelle variable ... – Seth

+0

Si vous avez une variable privée 'Point A' et' int r' alors le premier constructeur comme je l'ai écrit serait 'this.A = centre; this.r = radius; '-' this' est seulement requis pour indiquer clairement que vous avez l'intention d '"utiliser" les variables d'instance plutôt que les paramètres de la méthode. Est-ce que ça répond à votre question? – John3136

+0

Oh, c'est vrai. Merci! – Seth

1

Comment puis-je créer ce lien entre 2 classes?

On pourrait conserver une référence à l'autre, ou passer l'autre à des moments pertinents (par exemple lors du dessin).

0

Quelque chose le long des lignes de ce

class Circle 
{ 
    Point point; 
    Double radius; 
    Circle(double x, double y, double radius) 
    { 
     point = new Point(x,y); 
     this.radius = radius; 
    } 
} 

De cette façon, votre classe Circle contient un point, qui gère les coordonnées, mais a des informations supplémentaires (rayon)

Questions connexes