SlideShare une entreprise Scribd logo
1  sur  4
SERIE IIA2 JAVA
Exercice 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 ? Expliquer
b- Si oui que va t-il afficher ? Expliquer

class Test{
public static void main(String [] args){
Bidule b=new Bidule();
Machin m =new Bidule();
System.out.println(b.f()*m.g());}}


Problème


L’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 dont
elle 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. La
première concerne les moyen de locomotion sur rails contenant des métropolitains, des trains et des
tramway. La deuxième concerne les moyens de locomotions sur route, c’est à dire des bus. Chacun des


Saloua Ben Yahia                          Page 1 sur 4
moyens de transport à un numéro indépendant. Les métropolitains et les trains ont plusieurs wagons. Les
bus 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 terminal
d’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                    TransportSurRoute




Partie 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 par
rapport à l’application.


Remarque : pour simplifier l’écriture, les attributs sont private et les get/set sont supposés existants. De
ce 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 de
transport. 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éthode
toString qui affichera la description de la station sous la forme :

Station Le Passage n°1 est à la position 100:200

Question 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 Terminal
devra 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
Terminal : Station Gare n°3 est à la position 150:280

Question 3 : (1.5 points) Soit la classe Transport

//Classe qui définit un moyen de transport
abstract class Transport {
//variable d’instance
int numero;
//numero du transport
//Constructeur
Transport(int n){
numero=n;
}
//Methode toString
public String toString(){

return "Transport n°" + numero + "n";
}

}

L’instruction ci-dessous compilera t-elle correctement ? Si oui quel affichage va-t-elle produire ? Justifiez
votre 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 et
une seule (On ne peut donc avoir que 26 lignes de transport au total). Chacune a un terminal de départ et
un 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 Station

Question 5 : (1 points) Ecrire uniquement la déclaration des variables (les attributs) de la classe Ligne

Question 6 : (1 points) Ecrire le constructeur de la classe Ligne de manière à respecter l’instanciation
suivante :

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
Rajouter les méthodes public void addStation(Station s) à la classe Ligne de manière à ce qu’elle ajoute
une 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 code
est 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 entiers
tab[1]=new Bus(2); //La classe Bus existe et possède bien un cst 1-args entier
System.out.println(tab[0].consommationEnergetique());
System.out.println(tab[1]. consommationEnergetique());




Saloua Ben Yahia                         Page 4 sur 4

Contenu connexe

En vedette

Dia del planeta tierra
Dia del planeta tierraDia del planeta tierra
Dia del planeta tierradavid93zep
 
adivinar palabra correcta
adivinar palabra correcta adivinar palabra correcta
adivinar palabra correcta Carlos Garcia
 
1 couriel + sécuritaire
1 couriel + sécuritaire1 couriel + sécuritaire
1 couriel + sécuritaireguest43f72f
 
SOFTWARE LIBRE PARA LA EDUCACIÓN
SOFTWARE LIBRE PARA LA EDUCACIÓNSOFTWARE LIBRE PARA LA EDUCACIÓN
SOFTWARE LIBRE PARA LA EDUCACIÓNyare18abarca
 
“El valor de la familia en mi vida”
“El valor de la familia en mi vida”“El valor de la familia en mi vida”
“El valor de la familia en mi vida”ILse VaLeria
 
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014Aula Marketing
 
Parlamentos del mundo/ Julio Cesar Contreras/UFT
Parlamentos del mundo/ Julio Cesar Contreras/UFTParlamentos del mundo/ Julio Cesar Contreras/UFT
Parlamentos del mundo/ Julio Cesar Contreras/UFTJULIO CONTRERAS
 
MB CI Client Event Nov 28th 2014 - Mobile
MB CI Client Event Nov 28th 2014 - MobileMB CI Client Event Nov 28th 2014 - Mobile
MB CI Client Event Nov 28th 2014 - MobileKantar
 
Retos de la radio musical española en la era de Spotify
Retos de la radio musical española en la era de SpotifyRetos de la radio musical española en la era de Spotify
Retos de la radio musical española en la era de SpotifyLuis Miguel Pedrero Esteban
 

En vedette (20)

Dia del planeta tierra
Dia del planeta tierraDia del planeta tierra
Dia del planeta tierra
 
El comercio
El comercioEl comercio
El comercio
 
adivinar palabra correcta
adivinar palabra correcta adivinar palabra correcta
adivinar palabra correcta
 
Formul1
Formul1Formul1
Formul1
 
1 couriel + sécuritaire
1 couriel + sécuritaire1 couriel + sécuritaire
1 couriel + sécuritaire
 
Pv prague juin2013
Pv prague juin2013Pv prague juin2013
Pv prague juin2013
 
SOFTWARE LIBRE PARA LA EDUCACIÓN
SOFTWARE LIBRE PARA LA EDUCACIÓNSOFTWARE LIBRE PARA LA EDUCACIÓN
SOFTWARE LIBRE PARA LA EDUCACIÓN
 
Encuadre
EncuadreEncuadre
Encuadre
 
“El valor de la familia en mi vida”
“El valor de la familia en mi vida”“El valor de la familia en mi vida”
“El valor de la familia en mi vida”
 
LAS TIC
LAS TIC LAS TIC
LAS TIC
 
Google drive
Google driveGoogle drive
Google drive
 
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014
Ponentes Aula Marketing XX - Universidad de Deusto Donostia 2014
 
Agencia de viajes
Agencia de viajesAgencia de viajes
Agencia de viajes
 
La bibliothèque émancipatrice : La place de la formation et de l’accompagneme...
La bibliothèque émancipatrice : La place de la formation et de l’accompagneme...La bibliothèque émancipatrice : La place de la formation et de l’accompagneme...
La bibliothèque émancipatrice : La place de la formation et de l’accompagneme...
 
Des Extraits
Des ExtraitsDes Extraits
Des Extraits
 
Parlamentos del mundo/ Julio Cesar Contreras/UFT
Parlamentos del mundo/ Julio Cesar Contreras/UFTParlamentos del mundo/ Julio Cesar Contreras/UFT
Parlamentos del mundo/ Julio Cesar Contreras/UFT
 
MB CI Client Event Nov 28th 2014 - Mobile
MB CI Client Event Nov 28th 2014 - MobileMB CI Client Event Nov 28th 2014 - Mobile
MB CI Client Event Nov 28th 2014 - Mobile
 
Retos de la radio musical española en la era de Spotify
Retos de la radio musical española en la era de SpotifyRetos de la radio musical española en la era de Spotify
Retos de la radio musical española en la era de Spotify
 
La rana a fuego lento
La rana a fuego lentoLa rana a fuego lento
La rana a fuego lento
 
Pv nimegue mai2013
Pv nimegue mai2013Pv nimegue mai2013
Pv nimegue mai2013
 

Similaire à Seria 3 iia2 2011_2012

Tdi e passage_pratique_2012_v1
Tdi e passage_pratique_2012_v1Tdi e passage_pratique_2012_v1
Tdi e passage_pratique_2012_v1Issam Lahbib
 
Chapitre 01_ Analyse lexicale.pdf
Chapitre 01_ Analyse lexicale.pdfChapitre 01_ Analyse lexicale.pdf
Chapitre 01_ Analyse lexicale.pdfbenfifiaymen36
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdiversHajar Yazine
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07haythem_2015
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
ExamSessionPrincipale2014SE_ENICARTHAGE.pdfExamSessionPrincipale2014SE_ENICARTHAGE.pdf
ExamSessionPrincipale2014SE_ENICARTHAGE.pdfdhaouadihazem
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018salah fenni
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Fonction Excel
Fonction ExcelFonction Excel
Fonction ExcelHouda001
 
Exercice java vehicule
Exercice java vehiculeExercice java vehicule
Exercice java vehiculeNadaBenLatifa
 

Similaire à Seria 3 iia2 2011_2012 (20)

Tdi e passage_pratique_2012_v1
Tdi e passage_pratique_2012_v1Tdi e passage_pratique_2012_v1
Tdi e passage_pratique_2012_v1
 
Memo java
Memo javaMemo java
Memo java
 
Chapitre 01_ Analyse lexicale.pdf
Chapitre 01_ Analyse lexicale.pdfChapitre 01_ Analyse lexicale.pdf
Chapitre 01_ Analyse lexicale.pdf
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
ExamSessionPrincipale2014SE_ENICARTHAGE.pdfExamSessionPrincipale2014SE_ENICARTHAGE.pdf
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
 
Serie
SerieSerie
Serie
 
JAVA Chapitre7
JAVA Chapitre7JAVA Chapitre7
JAVA Chapitre7
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
TP5_2020.pdf
TP5_2020.pdfTP5_2020.pdf
TP5_2020.pdf
 
Fonction Excel
Fonction ExcelFonction Excel
Fonction Excel
 
Exercice java vehicule
Exercice java vehiculeExercice java vehicule
Exercice java vehicule
 

Plus de Amel Morchdi

Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2Amel Morchdi
 
Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Amel Morchdi
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Amel Morchdi
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809Amel Morchdi
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Amel Morchdi
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2Amel Morchdi
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111Amel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19Amel Morchdi
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3Amel Morchdi
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases javaAmel Morchdi
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageAmel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19Amel Morchdi
 

Plus de Amel Morchdi (20)

Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
 
Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
 
Corrections td4
Corrections td4Corrections td4
Corrections td4
 
Cours s epart2
Cours s epart2Cours s epart2
Cours s epart2
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritage
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 

Seria 3 iia2 2011_2012

  • 1. SERIE IIA2 JAVA Exercice 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 ? Expliquer b- Si oui que va t-il afficher ? Expliquer class Test{ public static void main(String [] args){ Bidule b=new Bidule(); Machin m =new Bidule(); System.out.println(b.f()*m.g());}} Problème L’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 dont elle 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. La première concerne les moyen de locomotion sur rails contenant des métropolitains, des trains et des tramway. La deuxième concerne les moyens de locomotions sur route, c’est à dire des bus. Chacun des Saloua Ben Yahia Page 1 sur 4
  • 2. moyens de transport à un numéro indépendant. Les métropolitains et les trains ont plusieurs wagons. Les bus 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 terminal d’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 TransportSurRoute Partie 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 par rapport à l’application. Remarque : pour simplifier l’écriture, les attributs sont private et les get/set sont supposés existants. De ce 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 de transport. 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éthode toString qui affichera la description de la station sous la forme : Station Le Passage n°1 est à la position 100:200 Question 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 Terminal devra 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:280 Question 3 : (1.5 points) Soit la classe Transport //Classe qui définit un moyen de transport abstract class Transport { //variable d’instance int numero; //numero du transport //Constructeur Transport(int n){ numero=n; } //Methode toString public String toString(){ return "Transport n°" + numero + "n"; } } L’instruction ci-dessous compilera t-elle correctement ? Si oui quel affichage va-t-elle produire ? Justifiez votre 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 et une seule (On ne peut donc avoir que 26 lignes de transport au total). Chacune a un terminal de départ et un 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 Station Question 5 : (1 points) Ecrire uniquement la déclaration des variables (les attributs) de la classe Ligne Question 6 : (1 points) Ecrire le constructeur de la classe Ligne de manière à respecter l’instanciation suivante : 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 ajoute une 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 code est 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 entiers tab[1]=new Bus(2); //La classe Bus existe et possède bien un cst 1-args entier System.out.println(tab[0].consommationEnergetique()); System.out.println(tab[1]. consommationEnergetique()); Saloua Ben Yahia Page 4 sur 4