texte a lire pourletest

Upload: alyssa-bouchenak

Post on 22-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Texte a Lire PourLeTest

    1/5

    1

    Document pour prparation au test informatique

    Pour tre admis en LOG121, vous devez au pralable avoir une comprhension des conceptssuivants1:

    Ce qu'est unattribut Ce qu'est une mthode Ce qu'est une classe Ce qu'est un objet ou uneinstance Ce qu'est l'encapsulation Ce qu'est la surcharge Ce qu'est la redfinition Ce quest la rfrencethis Ce qu'est l'hritagepar extension Ce quest la rfrencesuper Ce qu'est l'implmentation d'interface Ce qu'est le polymorphisme Ce qu'est la gestion vnementielle Ce que sont les composantsSWING et la construction d'cran utilisateur

    graphique de style GUI (GraphicalUserInterface) Ce qu'est le chanagedynamique 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 catgoried'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 uneapplication.

    Classe :L'endroit o sont dfinis les attributs et les mthodes qui reprsentent une catgoried'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-enregistrementdynamiquement 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 objetplutt qu'instancequi est rserv plutt auxattributs dune classe.

    1Peu importe le langage de programmation qui a t utilis.

  • 7/24/2019 Texte a Lire PourLeTest

    2/5

    2

    Exemple:

    String chaine; //dfinition d'un objet de la classe Stringchaine = new String("allo"); //Instanciation de l'objetchaine.charAt(0) //Appel de la mthode charAtde la classe

    //String avec 0en paramtre effectif, pour//l'objet nomm chaine.

    Encapsulation : Rendre l'utilisation des attributs d'un objet indpendante de leurimplmentation (private). En d'autres termes, on utilise des mthodes pour accder auxattributs 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 thisIl existe une rfrence spciale, utilisable dans une mthode non staticdune classe, qui permetdagir 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 uneclasse l'aide du mot rserv extends. On parle alors d'hritage par extension. Cela permetd'utiliser le code d'une classe sans avoir le rcrire. Cette dernire devient la classe parent eton parle de sous-classe pour les classes enfants. En Java, une classe ne peut hriter que d'uneautre classe (pas d'hritage multiple).

    Exemple:publicclassPoint2D

    ...publicclassPoint3D extendsPoint2D

    La classe Point3D hrite de tout le code non prive (public ouprotected)crit dans laclasse Point2D.

    La rfrence superAu mme titre que la rfrence this, il existe une rfrence spciale qui permet dagir sur lesattributs non privs (publicet protected) de la classe parent dans une hirarchie de classe.

    Interface : L'implmentation d'une interface (implements), permet de dfinir des mthodes quidoivent obligatoirement tre implmentes par une classe qui en hrite. Une classe peutimplmenter 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:

    publicclassPanneauQuelconque extendsJPanel implementsActionListener,MouseListener

    La classe PanneauQuelconquehrite de tout le code non priv (public ouprotected)crit dans la classe JPanelet doit implmenter les mthodes dcrites dans les interfaces

  • 7/24/2019 Texte a Lire PourLeTest

    3/5

    3

    ActionListener et MouseListener. PanneauQuelconque est une sous-classe desinterfaces au mme titre qu'elle est une sous-classe de JPanel.

    Polymorphisme : Un objet d'une classe peut tre instanci pendant l'excution d'uneapplication avec n'importe quelle sous-classe d'une classe parent. Ds lors, les mthodesdmarres 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 applicationsdes diffrents vnements (simple ou double cliquer sur la souris, taper au clavier, fermer unefentre, 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 lesbesoins de l'application. En java, les contrles se font l'aide d'interfaces que l'on appellecouteurs(Listener).

    Surcharge : Il est possible d'avoir plusieurs mthodes qui ont le mme nom dans un mme blocde 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 unehirarchie de classes. Par exemple, une mthode getDistance() peut exister dans la classePoint2D et aussi dans la sous-classe Point3D. C'est le type de l'instance lors de la dernireinstanciation qui dtermine quelle mthode est appele.

    Composants Swing : Classes qui permettent de programmer des applications de stylegraphique (Graphical User Interface) avec des composants reprsentant les cadres (JFrame),les panneaux (JPanel), les boutons (JButton), les botes de texte (JTextField), les botescombo (JComboBox), etc. galement, vous y trouvez les interfaces de type Listener tellesActionListener, MouseListener, KeyListener, ...

    Type de donnes abstrait (TDA) : Dfinition dun type structur ayant un comportementprdtermin dont lutilisation est indpendante de limplmentation (implmentationencapsule). Sert essentiellement conserver des donnes en mmoire. Le choix du TDAdpend 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 delinstanciation et quelle est non modifiable par la suite.

    Dynamique : Au contraire de statique, la taille du TDA est variable durant lexcution duprogramme. On y fait souvent lutilisation de chanage dynamique.

  • 7/24/2019 Texte a Lire PourLeTest

    4/5

    4

    Chanage dynamique : Technique de programmation pour crer des TDA dont la taille variedurant lexcution. Le(s) lien(s) entre les lments doi(ven)t tre maintenu(s) par leprogrammeur. Il y a plusieurs techniques de chanage (simple, double, gauche-droit, etc.) etplusieurs 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 lordredarriv (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. Ilncessite 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 messagesdexceptions

    (erreurs) dune mthode une autre pendant lexcution du programme. Un messagedexception dmarre lorsquil est lev. partir de ce moment, il est transmis de mthodesappelantes en mthodes appelantes, en respectant la pile des appels du OS, jusqu ce quellesoit gre ou que le OS le reoive. ce moment, la pile des appels est affiche lcran avecle texte associ au message dexception.

    Ce quil faut savoir en Javapour russir le test :

    Paquetage (package) : Les classes deJava sont disposes dans des paquetages fournis avec le

    Java Developpement Kit (JDK). Ces paquetages sont installs avec le Java RuntimeEnvironnement (JRE) qui contient la Java Virtual Machine (JVM) qui permet dexcuter desprogramme java. Si votre environnement de programmation est bien install, vous navez pasde 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 dunpaquetage laide dune *

    Exemple:

    importjava.util.Arrays;importjava.util.*;

    Il est possible dutiliser une classe sans limporter, il faut alors prfixer le nom de la classe avecle nom du paquetage.

    Exemple:java.util.Arraystab = new java.util.Arrays();

  • 7/24/2019 Texte a Lire PourLeTest

    5/5

    5

    Procdure principale: Nous favorisons une classe ddie qui ne contient que le programmeprincipal.

    Exemple:publicclassDemarrerApplication{

    publicstaticvoidmain(String [] args ){

    }

    }

    Graphical User Interface : Une application GUIse cre dans un cadre (JFrameou JDialog)et dispose des composants (JButton, JTextField, JComboBox, JLabel, ) dans diffrents

    panneaux (JPanel). Pour accder ces classes, il suffit de les importer partir dejavax.Swing.

    Disposition des panneaux : Nous favorisons la disposition de panneaux laide desgestionnaires de disposition (LayoutManager). Le LayoutManager du panneau principal(contentPane) dun cadre JFrame est BorderLayout tandis que celui dun JPanel estFlowLayout 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 estException. La classe qui lve une exception doit lannoncer laide de throws dans sonentte. 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 eestune instance de la classe Exception. Il est possible dhriter de la classe Exceptionpour crernos propres classe dexceptions.

    TDA fournis

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

    http://docs.oracle.com/javase/tutorial/uiswing/layout/layoutlist.htmlhttp://docs.oracle.com/javase/tutorial/uiswing/layout/layoutlist.html