SERIE IIA2 JAVAExercice 1 –1. On considère la classe définie par :class A {static int i;}a- Combien de mémoire consommera ...
moyens de transport à un numéro indépendant. Les métropolitains et les trains ont plusieurs wagons. Lesbus une capacité de...
Terminal : Station Gare n°3 est à la position 150:280Question 3 : (1.5 points) Soit la classe Transport//Classe qui défini...
Rajouter les méthodes public void addStation(Station s) à la classe Ligne de manière à ce qu’elle ajouteune station à la c...
Prochain SlideShare
Chargement dans…5
×

Seria 3 iia2 2011_2012

831 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
831
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
67
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Seria 3 iia2 2011_2012

  1. 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. 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. 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. 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

×