Vous êtes sur la page 1sur 5

Document pour prparation au test informatique

Pour tre admis en LOG121, vous devez au pralable avoir une comprhension des concepts
suivants1 :
Ce qu'est un attribut
Ce qu'est une mthode
Ce qu'est une classe
Ce qu'est un objet ou une instance
Ce qu'est l'encapsulation
Ce qu'est la surcharge
Ce qu'est la redfinition
Ce quest la rfrence this
Ce qu'est l'hritage par extension
Ce quest la rfrence super
Ce qu'est l'implmentation d'interface
Ce qu'est le polymorphisme
Ce qu'est la gestion vnementielle
Ce que sont les composants SWING et la construction d'cran utilisateur
graphique de style GUI (Graphical User Interface)
Ce qu'est le chanage dynamique
Ce quest la cration, la leve et la gestion dexceptions.
Ce qu'est un type de donnes abstrait (TDA)
Ce qu'est une pile (statique et dynamique)
Ce qu'est une file
"
"
"
Ce qu'est une liste
"
"
"

Attribut : Espace mmoire permettant de conserver de l'information pour une catgorie


d'objets dans une application. C'est l'quivalent d'un champ d'un enregistrement en
programmation imprative. Aussi appel variable dinstance.
Mthode : Sous-programme (procdure et fonction) associ une catgorie d'objets dans une
application.
Classe : L'endroit o sont dfinis les attributs et les mthodes qui reprsentent une catgorie
d'objets. C'est l'quivalent d'un module de type en programmation imprative.
Objet ou instance : Pour conserver des donnes pour un objet, il faut le dfinir et l'instancier
l'aide du mot rserv new. C'est l'quivalent d'initialiser une variable-enregistrement
dynamiquement en programmation imprative sauf qu'en plus, il est possible de dmarrer les
mthodes dfinies dans la classe partir de l'objet.
Dans le texte nous emploierons le mot objet plutt qu'instance qui est rserv plutt aux
attributs dune classe.

Peu importe le langage de programmation qui a t utilis.

Exemple :
String chaine;
//dfinition d'un objet de la classe String
chaine = new String("allo"); //Instanciation de l'objet
chaine.charAt(0)
//Appel de la mthode charAt de la classe
//String avec 0 en paramtre effectif, pour
//l'objet nomm chaine.
Encapsulation : Rendre l'utilisation des attributs d'un objet indpendante de leur
implmentation (private). En d'autres termes, on utilise des mthodes pour accder aux
attributs d'une classe plutt que d'y accder directement. C'est ce qui justifie, entre autres,
l'utilisation d'accesseurs (get) et/ou de mutateurs (set). Par exemple : getNom, getAge, setNom,
setAge, ...
La rfrence this
Il existe une rfrence spciale, utilisable dans une mthode non static dune classe, qui permet
dagir sur les attributs de lobjet actuel. Existe sous diffrentes formes selon le langage.
Hritage : En java, nous parlons d'hritage par hirarchie de classes. On peut tendre une
classe l'aide du mot rserv extends. On parle alors d'hritage par extension. Cela permet
d'utiliser le code d'une classe sans avoir le rcrire. Cette dernire devient la classe parent et
on parle de sous-classe pour les classes enfants. En Java, une classe ne peut hriter que d'une
autre classe (pas d'hritage multiple).
Exemple :
public class Point2D
...
public class Point3D extends Point2D
La classe Point3D hrite de tout le code non prive (public ou protected) crit dans la
classe Point2D.
La rfrence super
Au mme titre que la rfrence this, il existe une rfrence spciale qui permet dagir sur les
attributs non privs (public et protected) de la classe parent dans une hirarchie de classe.
Interface : L'implmentation d'une interface (implements), permet de dfinir des mthodes qui
doivent obligatoirement tre implmentes par une classe qui en hrite. Une classe peut
implmenter plusieurs interfaces. Cela permet d'assurer une bonne gestion du
polymorphisme. Une classe qui implmente une interface est une sous-classe de cette interface.
Exemple :
public class PanneauQuelconque extends JPanel implements ActionListener,
MouseListener
La classe PanneauQuelconque hrite de tout le code non priv (public ou protected)
crit dans la classe JPanel et doit implmenter les mthodes dcrites dans les interfaces
2

ActionListener et MouseListener. PanneauQuelconque est une sous-classe des


interfaces au mme titre qu'elle est une sous-classe de JPanel.
Polymorphisme : Un objet d'une classe peut tre instanci pendant l'excution d'une
application avec n'importe quelle sous-classe d'une classe parent. Ds lors, les mthodes
dmarres partir de l'objet dpendent de la classe d'instanciation.
Exemple :
p1 = new Point2D(...); p1.norme(); //ici la mthode norme appele est
//celle dfinie dans la classe Point2D
p1 = new Point3D(...); p1.norme(); //ici la mthode norme appele est
//celle dfinie dans la classe Point3D
Gestion vnementielle : Les systmes d'exploitation contemporains avisent les applications
des diffrents vnements (simple ou double cliquer sur la souris, taper au clavier, fermer une
fentre, etc.) qui sont produits par l'utilisateur de l'ordinateur. Plusieurs vnements existent et
les langages de programmation permettent de s'abonner ces vnements pour agir selon les
besoins de l'application. En java, les contrles se font l'aide d'interfaces que l'on appelle
couteurs (Listener).
Surcharge : Il est possible d'avoir plusieurs mthodes qui ont le mme nom dans un mme bloc
de code en autant quelles aient un type de retour ou des paramtres qui diffrent.
Redfinition : Il est possible d'avoir plusieurs mthodes parfaitement identiques dans une
hirarchie de classes. Par exemple, une mthode getDistance() peut exister dans la classe
Point2D et aussi dans la sous-classe Point3D. C'est le type de l'instance lors de la dernire
instanciation qui dtermine quelle mthode est appele.
Composants Swing : Classes qui permettent de programmer des applications de style
graphique (Graphical User Interface) avec des composants reprsentant les cadres (JFrame),
les panneaux (JPanel), les boutons (JButton), les botes de texte (JTextField), les botes
combo (JComboBox), etc. galement, vous y trouvez les interfaces de type Listener telles
ActionListener, MouseListener, KeyListener, ...
Type de donnes abstrait (TDA) : Dfinition dun type structur ayant un comportement
prdtermin dont lutilisation est indpendante de limplmentation (implmentation
encapsule). Sert essentiellement conserver des donnes en mmoire. Le choix du TDA
dpend de laccs aux donnes que ncessite lapplication. Scrit dans une classe telle Array,
Vector, ArrayList, LinkedList, etc.
Statique : Dans le contexte des TDA, le mot statique signifie que la taille est fixe lors de
linstanciation et quelle est non modifiable par la suite.
Dynamique : Au contraire de statique, la taille du TDA est variable durant lexcution du
programme. On y fait souvent lutilisation de chanage dynamique.
3

Chanage dynamique : Technique de programmation pour crer des TDA dont la taille varie
durant lexcution. Le(s) lien(s) entre les lments doi(ven)t tre maintenu(s) par le
programmeur. Il y a plusieurs techniques de chanage (simple, double, gauche-droit, etc.) et
plusieurs TDA les utilisent.
Pile : TDA dont lajout ou le retrait dobjets se fait toujours partir du dernier lment entr
(Last In First Out).
File : TDA dont lajout dobjets se fait la suite du dernier ajout et le retrait dans lordre
darriv (First In First Out ou Last In Last Out).
Liste : TDA dont lajout ou le retrait dobjets se fait selon les besoins un endroit spcifi. Il
ncessite de fournir la position de lopration. Cela peut diffrer selon le type de liste choisie
(position courante, itrateur ou indexe).
Cration, leve et gestion dexceptions : Il est possible denvoyer des messages dexceptions
(erreurs) dune mthode une autre pendant lexcution du programme. Un message
dexception dmarre lorsquil est lev. partir de ce moment, il est transmis de mthodes
appelantes en mthodes appelantes, en respectant la pile des appels du OS, jusqu ce quelle
soit gre ou que le OS le reoive. ce moment, la pile des appels est affiche lcran avec
le texte associ au message dexception.

Ce quil faut savoir en Java pour russir le test :


Paquetage (package) : Les classes de Java sont disposes dans des paquetages fournis avec le
Java Developpement Kit (JDK). Ces paquetages sont installs avec le Java Runtime
Environnement (JRE) qui contient la Java Virtual Machine (JVM) qui permet dexcuter des
programme java. Si votre environnement de programmation est bien install, vous navez pas
de manuvres spciales effectuer autre que limportation pour les utiliser.
Importation : Pour utiliser une classe se trouvant dans un paquetage, on doit limporter
laide du mot rserv import en dbut de fichier. On peut importer toutes les classes dun
paquetage laide dune *
Exemple :
import java.util.Arrays;
import java.util.*;
Il est possible dutiliser une classe sans limporter, il faut alors prfixer le nom de la classe avec
le nom du paquetage.
Exemple :
java.util.Arrays tab = new java.util.Arrays();
4

Procdure principale: Nous favorisons une classe ddie qui ne contient que le programme
principal.
Exemple :
public class DemarrerApplication{
public static void main(String [] args ){

}
}

Graphical User Interface : Une application GUI se cre dans un cadre (JFrame ou JDialog)
et dispose des composants (JButton, JTextField, JComboBox, JLabel, ) dans diffrents
panneaux (JPanel). Pour accder ces classes, il suffit de les importer partir de
javax.Swing.

Disposition des panneaux : Nous favorisons la disposition de panneaux laide des


gestionnaires de disposition (LayoutManager). Le LayoutManager du panneau principal
(contentPane) dun cadre JFrame est BorderLayout tandis que celui dun JPanel est
FlowLayout par dfaut. Il en existe plusieurs autres dont BoxLayout, GridLayout,
GridBagLayout, CardLayout, SpringLayout, etc.). Vous pouvez en consulter la liste
http://docs.oracle.com/javase/tutorial/uiswing/layout/layoutlist.html

Cration, leve et gestion dexceptions : En java, la classe mre de toutes les exceptions est
Exception. La classe qui lve une exception doit lannoncer laide de throws dans son
entte. Une mthode peut lever plusieurs exceptions laide de throw. On gre une exception
laide dun bloc try-catch. On affiche la pile des appels laide de e.printStackTrace() o e est
une instance de la classe Exception. Il est possible dhriter de la classe Exception pour crer
nos propres classe dexceptions.

TDA fournis
Nous vous fournissons deux TDAs qui seront utiliss lors du test de classement. Une pile avec
implmentation dynamique et une file avec implmentation statique. Les deux classes lvent
des messages dexception. Cest une bonne ide dcrire un petit programme principal pour
tester les mthodes des TDAs.
5