TD5 Java
TD5 Java
TD5 Java
Licence Informatique
TD n5
Classes imbriquees, Interfaces
Exercice 1 (Classification)
Considerez les categories suivantes : Nourriture, Boisson, Crepe, Habitation, Soupe,
et MaisonDeMassepain. Choisissez lesquelles seront implementees comme interfaces, et lesquelles comme classes, en justifiant votre choix. O`
u se situeront les methodes suivantes : cuire,
rechauffer, hasSorciere, hasAmandes, getSaveur.
Exercice 2 (Classes imbriquees)
Les exemples suivants sont-ils corrects ? Justifiez.
1. class A {
public int x;
class B {
public int f() {return this.x;}
}
}
2. class A {
class B
}
public
A a
B b
}
}
{
static void main (String[] args) {
= new A();
= new B();
3. class A {
public class B {
private int x=0;
public void f() {
System.out.print(x);
}
}
public static void main (String[] args) {
new A().new B().f();
}
}
4. class A {
static class B {
}
public static void main (String[] args) {
A a = new A();
1
B b = new B();
}
}
5. class A {
private int x=0;
class B {
public int f() {
A a = new A();
return a.x;
}
}
}
6. class A {
class B {
private int x;
}
class C {
public int f() {
B b = new B();
return b.x;
}
}
}
7. class A {
public int f() {
return 42;
}
class B {
}
public static void main (String[] args) {
A a = new A();
B b = a.new B();
System.out.print(b.f());
}
}
Exercice 3 (Interfaces - 1)
Les exemples suivants sont-ils corrects ? Justifiez.
1. interface Vehicule {
public void accelerer ();
public void freiner ();
public boolean hasEssence ();
public int getNombrePassagers ();
}
class Voiture {
2