ch5 6
ch5 6
ch5 6
interface NomInterface { … }
Exemples :
interface Edition
{void editer();}
interface Affichage
{int MIN = 0;
int MAX=100;
void afficher();
} Cours de Programmation Orientée Objet 9
4. Interfaces et héritage
Une interface peut hériter d'une ou de plusieurs autres interfaces.
Il s'agit d'une extension de propriétés sous forme de méthodes
abstraites et de constantes statiques.
Exemple :
interface InputStream // propriété d'accepter des caractères
{public int read(); }
class TriGénérique
{ public static void tri (Object [ ] T, Comparer op) //op une ref
{ for (int i=0; i<T.length-1; i++)
for (int j=i+1; j< T.length; j++)
if (op.inférieur (T[j],T[i]))
{
Object x=T[i];
T[i]=T[j];
T[j]=x;
}
}
}
Cours de Programmation Orientée Objet 15
Pour trier n’importe quel type d’objet selon n’importe quel
critère, il suffit d’implémenter l’interface Comparer au moyen
d’une classe convenable et de passer en paramètre du tri une
instance de cette classe.
Les exceptions
1.Problématique
Avec une programmation classique, une grande partie du code
est réservée à la détection et à la gestion des erreurs ou au
traitement de cas exceptionnels (division par zéro, impossibilité
d'ouvrir un fichier, mauvaise saisie de données,…)
Throwable
Error Exception
ThreadDeath IllegalAccessException
VirtualMachineError RuntimeException
ArithmeticException IndexOutOfBoundsException
NullPointerException
Une exception est déclenchée avec le mot clé throw qui lance un
objet de la classe exception indiquée après l'avoir crée par new
Exemple :
class MonException extends Exception
{ }
class TestException
{
…
if ( erreurDétectée ) throw new MonException();
…
}
Exemple :
Modification du code de la méthode main() de manière à ce
que l'exception TempsException soit traitée en affichant le
message suivant : "Temps Invalide" suivi par la raison de
l’erreur
try { … }
catch (IOException e)
//capturer toutes les exceptions I/O
{…}
catch ( PasDeSolution e )
{…}
Exemple :
void methode() throws IOException
{
try
{ … }
catch ( IOException e )
{ … throw e; }
}
try {
// Ouvrir un fichier
// Lire et écrire des données
}
catch ( IOException e )
{
System.out.println(e) ;
}
finally
{
// Fermeture du fichier
}