7.1 â Classes abstraites
Qu'est-ce qu'une classe abstraite en Java ?
Quel mot-clé est utilisé pour déclarer une classe abstraite ?
Qu'est-ce qu'une méthode abstraite ?
OĂč peut-on dĂ©clarer une mĂ©thode abstraite ?
Quelles sont les caractéristiques d'une méthode abstraite ?
Quel est le résultat de ce code :
public abstract class Forme {
public abstract double calculerAire();
}
Forme f = new Forme();
Que doivent faire les classes filles non abstraites d'une classe abstraite ?
Une classe abstraite peut-elle contenir des méthodes concrÚtes (non abstraites) ?
Quel est le résultat de ce code :
public abstract class Animal {
public abstract void faireDuBruit();
}
public class Chien extends Animal {
@Override
public void faireDuBruit() {
System.out.println("Wouf");
}
}
Animal a = new Chien();
a.faireDuBruit();
Une classe abstraite peut-elle avoir des constructeurs ?
7.2 â Interfaces
Qu'est-ce qu'une interface en Java ?
Quel mot-clé est utilisé pour déclarer une interface ?
Quel mot-clé est utilisé pour qu'une classe implémente une interface ?
Combien d'interfaces une classe peut-elle implémenter en Java ?
Quelles sont les caractéristiques des méthodes dans une interface (avant Java 8) ?
Quel est le résultat de ce code :
public interface Drawable {
void draw();
}
public class Cercle implements Drawable {
@Override
public void draw() {
System.out.println("Cercle");
}
}
Drawable d = new Cercle();
d.draw();
Quel type d'attributs une interface peut-elle contenir ?
Une interface peut-elle avoir des constructeurs ?
Quel est le résultat de ce code :
public interface Drawable {
void draw();
}
public interface Colorable {
void setColor(String color);
}
public class Cercle implements Drawable, Colorable {
private String color;
@Override
public void draw() {
System.out.println("Cercle " + color);
}
@Override
public void setColor(String color) {
this.color = color;
}
}
Cercle c = new Cercle();
c.setColor("Rouge");
c.draw();
Depuis Java 8, quelles fonctionnalités peuvent contenir les interfaces ?
7.3 â DiffĂ©rences entre classes abstraites et interfaces
Quelle est la différence principale concernant l'héritage entre classes abstraites et interfaces ?
Quelle est la différence concernant les attributs entre classes abstraites et interfaces ?
Quelle est la différence concernant les constructeurs entre classes abstraites et interfaces ?
Quand doit-on utiliser une classe abstraite plutĂŽt qu'une interface ?
Quand doit-on utiliser une interface plutĂŽt qu'une classe abstraite ?
Quelle est la différence concernant les modificateurs d'accÚs des méthodes entre classes abstraites et interfaces ?
Peut-on combiner une classe abstraite et une interface ?