Question de cours : (5 pts) 1°/ Quel est le rôle de la gestion des exceptions ? Donner un exemple explicatif. 2°/ Quelle est la ...
Question de cours : (5 pts)
1°/ Quel est
le rôle de la gestion des exceptions ? Donner un exemple explicatif.
2°/ Quelle
est la différence entre une méthode d’instance et une méthode de classe ?
3°/ Quelle
est la différence entre une classe et une interface ?
4°/ Décrire
les classes suivante : Float, Exception, Object,
Date, System.
5°/ Nommer et
décrire trois sortes de relations pouvant exister entre deux classes.
Exercice 1 : (2 pts)
Le code
suivant n’est pas correct sur le plan de conception. Identifier le problème et
proposer une solution.
public interface X {
public int x();
}
public class Y implements X {
int z(){
return x;
}
private
int x=0;
}
|
Exercice 2 : (2 pts)
Qu’affiche
le programme ci-dessous ?
public static void main (String[] args)
{
int i,j,k,som;
for(som=0, i=1, j=-10, k=10; i<10 ; i=i+2)
{
som += i/2 ;
j+=k%i ;
k--;
}
System.out.println(“ som=”+som+”\nj=”+j+”\tk=”+ k);
}
|
Exercice 3 : (6 pts)
On considère
une banque X ayant les caractéristiques suivantes :
- La banque
permet à ses clients d'ouvrir des comptes qu'elle gère.
- Un compte
est défini par un numéro d'agence, un numéro de compte et un solde.
- La banque
gère deux types de compte : des comptes courants et des comptes d'épargne.
- Les
clients doivent pouvoir déposer et retirer de l'argent sur un compte et
consulter le solde d'un compte.
- Un client
doit pouvoir effectuer un virement d'un compte courant vers un autre de ses
comptes (courant ou épargne).
- Un client
doit pouvoir effectuer un virement vers le compte d'un autre client en payant un
prix donné par transaction.
- Les
comptes d'épargne rapportent de l'argent : ils ont un taux d'intérêt T et
chaque dépôt d'argent d'un montant M sur un compte épargne provoque une
augmentation du solde de ce compte de M * T.
1°/
Identifier les classes représentant la banque et son fonctionnement.
2°/ Donner
le code java de chacune de ces classes.
Exercice 4 : (5 pts)
Description
du système :
Il existe
une classe Véhicule, possédant deux attributs: marque étant du type String et
couleur étant du type long. Elle possède également une méthode démarrer n’ayant
aucun argument et qui retourne un type void. Cette méthode n’est pas définie dans
la classe Véhicule.
Il existe un
type interface Livreur, ayant une méthode faireLivraison, qui a un seul argument
destination du type Destination et qui retourne un type void.
Il existe
trois classes Voiture, Taxi et Bus étant des sous-classes de Véhicule.
Chacune de
ces sous-classes possède sa propre implémentation de la méthode démarrer de la
classe Véhicule. Les classes Taxi et Bus implémentent l’interface Livreur et
elles possèdent chacun un attribut nbPassager étant du type int.
Il existe
une classe Destination possédant trois attributs : nom, étant du type chaîne de
caractères, ainsi que coordonnéeX et coordonnéeY, étant tous deux du type double.
La classe Destination possède une méthode toString n’ayant aucun argument et qui
retourne une chaîne de caractères. Elle possède également une méthode distance,
ayant deux arguments dest1 et dest2, chacun étant du type Destination. Cette
méthode retourne un type double.
Donner le
diagramme de classes en précisant les méthodes, les attributs, les relations
entre classes ainsi que les cardinalités et les rôles sur les relations..