Chap 6 VF
Chap 6 VF
Chap 6 VF
Objet
3ème année Ingénieur en Informatique
2023-2024
Chapitre 6: Les
Interfaces
2
Interface
Une interface est une collection nommée de déclarations de méthodes (sans les
implémentations).
Elle permet à des classes qui ne sont pas liées d’avoir accès à des opérations similaires
Une interface peut aussi déclarer des constantes. (tous les attributs d’une interface sont
par défaut public, static et final. )
Le terme d’héritage n’est pas utilisé entre classes et interfaces : on dit qu’une classe
implémente une interface.
Interface
Une interface ne peut être instanciée.
Lorsqu’une classe implémente une interface, elle doit redéfinir toutes ses
méthodes abstraites ou bien être abstraite.
class Test{
public static void main(String args[]){
Sportif s = new Sportif () ; Je marche 21 Km.
s.marcherOuCourir();
}}
Implémentation de plusieurs interfaces
public interface A{ public interface B{ public interface C{
void showA(); void showB(); void showC();
} } }
@Override
public int compareTo(Object autreObjet) {
// Logique de comparaison
if(autreObjet instanceof MaClasse ) {
MaClasse sc=(MaClasse ) autreObjet;
……………………………….
}
}
Exemple
Exemple : Comparaison de fruits par poids
Classe Fruit implémentant Comparable.
Comparaison basée sur le poids.
}}
Exercice 1
Définir une interface nommée Convertible avec une méthode double convertTo(String targetType)
qui prend en paramètre une chaîne de caractères représentant l'échelle cible de la conversion.
Implémenter une classe Temperature qui représente une température avec une valeur et une
échelle (Celsius ou Fahrenheit). La classe Temperature doit implémenter l'interface Convertible.
Dans la classe Temperature, fournir une méthode convertTo(String targetType) qui convertit la
température actuelle en fonction de l'échelle cible spécifiée (Celsius ou Fahrenheit).
Écrire une classe Main qui teste la conversion de température en créant une instance de
Temperature avec une valeur initiale et une échelle, puis en effectuant des conversions entre
Celsius et Fahrenheit.
Celsius Fahrenheit: (température* 9 / 5) + 32
Fahrenheit Celsius: (température - 32) * 5 / 9
Solution
public interface Convertible {
double convertTo(String targetType);
}
public class Temperature implements
Convertible {
private double value;
private String scale;