Probleme constructeurs héritage - Java - Programmation
Marsh Posté le 22-09-2013 à 21:49:06
La manière 'pro' de faire c'est de prendre le tableau de points en constructeur.
Ca te fais une classe pouvant évoluer.
Si moins de deux points : pas possible de créer un Rectangle
Si deux points : ok, reste à déterminer les deux points manquants
Si trois points : a priori pas exploitable
Si quatre points : ok tout va bien
Plus de quatres points : pas exploitable
Ensuite dans le constructeur de ta classe Rectangle qui n'hérite plus de Polygone
Code :
|
Marsh Posté le 22-09-2013 à 22:30:29
Ouais enfin, vaut mieux faire deux constructeur différent.
Un qui prend 2 points, l'autre 4 sans passer par un array, tu remplis ensuite l'array et appelle le c-tor de polygone avec l'array que tu as fait.
Sinon, s'il faut absolument utiliser un array, pas besoin de faire le "if (tab.length <2 || tab.length ==3 || tab.length > 4 )", suffit de faire :
Code :
|
Ça fait que 2 tests au lieu de 5.
Marsh Posté le 20-09-2013 à 13:09:04
Bonjour,
Je débute en programmation et notamment en java.
Pour progresser, j'essaye de résoudre des feuilles exercices que je trouve sur google. J'essaye également d'y ajouter des difficultées moi même.
J'aimerai bien avoir un coup de main sur celui-ci
J'ai une classe Point
J'ai une classe polygone avec pour constructeur un tableau de point :
J'aimerais faire une classe rectangle qui hérite de polygone et qui prends en constructeur 2 points (de là j'en détmerine les 2 autres).
Le problème se situe ici :
j'appel mon construteur de classe mère (mais je n'ai pas forcément besoin d'un tableau, immaginons que dans mon tableau il y ai 3 points, je ne peux construire de rectangle...
Je bloque complètement sur ce ou ces constructeurs.
J'ai tenté d'ajouter des variables d'instances (classe Point) mais je n'arrive pas à déterminer les 2 autres points.
Le problème c'est que je n'ai pas besoin du tableau... mais plutot de 2 points
Je ne sais pas si j'ai été très clair... Avez-vous une idée pour m'aider un peu sur le constructeur?
Merci à vous