tete du loic

 Loïc YON [KIUX]

  • Enseignant-chercheur
  • Référent Formation Continue
  • Responsable des contrats pros ingénieur
  • Référent entrepreneuriat
  • Responsable de la filière F2 ingénieur
  • Secouriste Sauveteur du Travail
mail
loic.yon@isima.fr
phone
(+33 / 0) 4 73 40 50 42
location_on
ISIMA
  • twitter
  • linkedin
  • viadeo

[JavaSE] Premiers compléments

Date de première publication : 2013/01/08

Cette page est la première d'une série d'exercices complémentaires au cours de Java SE. Les excercices sont là pour vous aider et ne seront pas vus, sauf question de votre part en cours/TP.

Ces exercices sont réalisables dès le troisième cours (voire le deuxième).

Quelques classes...

Classe Point

classe simple, constructeurs et instanciation, attributs d'instance et attributs de classe

Classe Arc

composition, exception

Manipulation de conteneurs et utilisation de la documentation

On va maintenant s'intéresser à une classe Polygone qui sera constituée d'un ensemble de Point

Tableau

Je vous laisse choisir si le tableau est de taille fixe ou si vous voulez prendre en compte le redimensionnement. Il n'existe pas d'opérateur/fonction pour demander une zone mémoire plus grande que celle que l'on a déjà demandée (comme le realloc() du C)

Si vous l'avez vu en cours, vous pouvez ajouter une exception lorsque l'on essaie d'enlever un point et que le tableau est vide, ou si le tableau est de taille fixe et que la taille maximale est atteinte. Pour information, une allocation mémoire impossible lève une exception.

Conteneur dédié

Le java a été conçu à l'origine avec un équivalent de la bibliothèque standard du C++. C'est ce qui est appelé, entre autres, les collections en Java (c'est le thème que vous pouvez choisir dans les tutoriaux). Nous allons maintenant voir quelques classes qui peuvent faire l'affaire pour gérer l'ensemble de points sans utiliser un tableau. Quelques exemples sont également donnés dans la deuxième partie du support de cours.

Depuis la version 1.5 de Java, tous les conteneurs sont en fait génériques (templates) : l'utilisation est très similaire à celle de C++ donc vous ne devriez pas être perturbés même si nous n'avons pas fait de cours de généricité spécifique à Java.

Vous pouvez remarquer que toutes ces classes ont au moins un anêtre en commun :-)

Vector<Point> points = new Vector<Point>();