Your SlideShare is downloading. ×
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Seria 3 iia2 2011_2012

658

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
658
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SERIE IIA2 JAVAExercice 1 –1. On considère la classe définie par :class A {static int i;}a- Combien de mémoire consommera le code suivant. Expliquer par un schéma.b- Quel est le résultat affiché par le code ci-dessus (inséré dans un main):A a=new A();A b=new A();a.i=10; b.i=12;System.out.println(a.i);Exercice 2 –Pour les classes Machin et Bidule définies comme suit:abstract class Machin {public abstract int f();public int g() {return (6);}}class Bidule extends Machin {public int f() {return(2); }public int g() {return (4); }}a- Le code JAVA suivant va-t-il compiler correctement ? Expliquerb- Si oui que va t-il afficher ? Expliquerclass Test{public static void main(String [] args){Bidule b=new Bidule();Machin m =new Bidule();System.out.println(b.f()*m.g());}}ProblèmeL’objet de cette application est de gérer un service de transport en commun.Une ville souhaite une application permettant d’afficher la liste des services de transport en commun dontelle dispose ainsi que la représentation spatiale des stations.La ville dispose de différents types de moyen de transport que l’on divisera en deux catégories. Lapremière concerne les moyen de locomotion sur rails contenant des métropolitains, des trains et destramway. La deuxième concerne les moyens de locomotions sur route, c’est à dire des bus. Chacun desSaloua Ben Yahia Page 1 sur 4
  • 2. moyens de transport à un numéro indépendant. Les métropolitains et les trains ont plusieurs wagons. Lesbus une capacité de réservoir.Chaque moyen de locomotion part d’un terminal de départ, s’arrête à série de Station, arrive à un terminald’arrivée. Toutes les stations ont un nom et un numéro.On a établit la hiérarchie des classes pour cette application. Les classes soulignées sont abstraites (Object,Transport, TransportSurRoute,TransportSurRail). Object Transport TransportSurRail TransportSurRoutePartie 1 (4.5pt)Dans la suite, utiliser les noms des classes, des variables ou des méthodes qui vous sont donnés.Remarque : le type des variables est laissé à votre choix, mais vous veillerez à ce qu’il soit réaliste parrapport à l’application.Remarque : pour simplifier l’écriture, les attributs sont private et les get/set sont supposés existants. Dece fait, on ne vous demande de ne pas les écrire mais de supposer toujours qu’ils existent.Question 1 : (1.5 points) Définir une classe Station qui correspond à une station d’arrêt d’un moyen detransport. Elle sera situé à endroit dans la ville, que l’on représentera par des coordonnées entières (x,y).Chaque station aura un nom et un numéro. Ecrire un seul constructeur avec paramètres et sa méthodetoString qui affichera la description de la station sous la forme :Station Le Passage n°1 est à la position 100:200Question 2 : (1.5 points) Définir une classe Terminal qui hérite de la classe Station. Elle correspond àune station de départ ou d’arrivée. Elle n’a aucune caractéristique en plus autre que celles dont elle hérite.Ecrire le constructeur correspondant ainsi que sa méthode toString. La méthode toString de Terminaldevra re-utiliser la méthode de la classe Station. Elle produira l’affichage d’un terminal sous la forme:Saloua Ben Yahia Page 2 sur 4
  • 3. Terminal : Station Gare n°3 est à la position 150:280Question 3 : (1.5 points) Soit la classe Transport//Classe qui définit un moyen de transportabstract class Transport {//variable d’instanceint numero;//numero du transport//ConstructeurTransport(int n){numero=n;}//Methode toStringpublic String toString(){return "Transport n°" + numero + "n";}}L’instruction ci-dessous compilera t-elle correctement ? Si oui quel affichage va-t-elle produire ? Justifiezvotre réponse.Transport monPremierTransport = new Transport(1);Partie 2 (7.5 pts)On considère donné le code Java du reste classes TransportSurRail, TransportSurRoute,Bus,Metro,Train,Tramway.On veut maintenant définir une ligne de transport de metro. Chaque ligne est référencée par une lettre etune seule (On ne peut donc avoir que 26 lignes de transport au total). Chacune a un terminal de départ etun terminal d’arrivée. Elles desservent de plus une liste de stations spécifiques (au maximum 20).Question 4 : (1 pt) Dessiner le diagramme UML représentant la relation entre la classe Ligne et StationQuestion 5 : (1 points) Ecrire uniquement la déclaration des variables (les attributs) de la classe LigneQuestion 6 : (1 points) Ecrire le constructeur de la classe Ligne de manière à respecter l’instanciationsuivante :Terminal departA=new Terminal("Depart A",10,5);Terminal arriveeA=new Terminal("Arrivee A",234,53);Ligne ligneA=new Ligne(‘A’, departA,arriveeA);Question 7 : (1.5 points)Saloua Ben Yahia Page 3 sur 4
  • 4. Rajouter les méthodes public void addStation(Station s) à la classe Ligne de manière à ce qu’elle ajouteune station à la classe. Cette méthode doit afficher des messages d’erreur si on ajoute trop de stations.Question 7 : (1.5 pts) Dans la classe Ligne, ajouter une méthode void existeStation(Station s)qui vérifie que la station passée en paramètre est bien sur cette ligne et affiche un message d’erreur sinon.Question 8 : (1.5 points)On a décidé de rajouter à la classe Transport la méthode suivante.abstract int consommationEnergetique() ;a - Que faut-il faire et dans qu’elles classes faut-il le faire pour que les classes de l’application compilentà nouveau correctement ? (ne pas écrire de code)b - Une fois les corrections apportés, le code suivant est il correct à la compilation? Expliquez. Si le codeest correct expliquer le résultat attendu à l’exécution (Sans donner l’affichage exact).Transport [ ] tab=new Transport[10] ;tab[0]=new Metro(1,2);//La classe Metro existe et possède bien un cst 2-args entierstab[1]=new Bus(2); //La classe Bus existe et possède bien un cst 1-args entierSystem.out.println(tab[0].consommationEnergetique());System.out.println(tab[1]. consommationEnergetique());Saloua Ben Yahia Page 4 sur 4

×