Interfaces
Interfaces/Langage
Interfaces/Langage
en Java (rappels)
Interfaces
Motivations
Types plus abstraits que les classes
plus réutilisables
Technique pour masquer l’implémentation
découplage public/privé : type/implémentation
Favorise l’écriture de code plus général
écrit sur des types plus abstraits
Relations de spécialisation multiple
entre les interfaces
entre les classes et les interfaces
Meilleure organisation des types
Interfaces
Interfaces en Java
Dans les versions <= Java 1.7
des méthodes d’instance publiques abstraites
avec les modifieurs public abstract
des attributs de classe constant publics
avec les modifieurs public final static
A partir de Java 1.8
des méthodes d’instance publiques présentant des comportements par
défaut (avec les modifieurs public et default)
des méthodes statiques (avec les modifieurs public et static)
des types internes
spécialisation entre une interface et une ou plusieurs interfaces
par extends
implémentation entre une interface et une ou plusieurs classes
par implements
Interfaces
Interfaces en Java
1p u b l i c i n t e r f a c e I q u a d r i l a t e r e {
2int nbC ote s = 4;
3double p e r i m e t r e ( ) ;
4double s u r f a c e ( ) ;
5}
6
7p u b l i c i n t e r f a c e I r e c t a n g l e extends I q u a d r i l a t e r e {
8int a n g l e = 90 ;
9double g e t L a r g e u r ( ) ; v o i d setLargeur(double l ) ;
10 double g e t H a u t e u r ( ) ; v o i d s e t H a u t e u r ( double h ) ;
11
12 d e f a u l t d o u b l e p e r i m e t r e ( )
13 {return 2t h i s . g e t L a r g e u r ( )+2t h i s . g e t H a u t e u r ( ) ; }
14
15 d e f a u l t d o u b l e s u r f a c e ( )
16 {r e t u r n t h i s . g e t L a r g e u r ( ) t h i s . g e t H a u t e u r ( ) ; }
17
18 d e f a u l t S t r i n g d e s c r i p t i o n ( )
19 // on ne pe ut pas l a nommer " t o S t r i n g "
20 {return " l a r g e u r ="+t h i s . g e t L a r g e u r ( )+" hauteur ="+t h i s .-
g e t H a u t e u r ( ) ; }
21
22 s t a t i c b o o l e a n e g a l ( I r e c t a n g l e r 1, I r e c t a n g l e r 2){
23 return r1. g e t L a r g e u r ( )==r 2. g e t L a r g e u r ( )
24 && r 1. g e t H a u t e u r ( )==r 2. g e t H a u t e u r ( ) ;
25 }
26 }
Interfaces
Interfaces en Java
1p u b l i c i n t e r f a c e IobjetColore
2{
3C o l or c o u l e u r D e f a u t = C o l or . w h i t e ;
4C o l o r g e t C o u l e u r ( ) ;
5}
6
7
8// s p e c i a l i s a t i o n m u l t i p l e
9p u b l i c i n t e r f a c e I r e c t a n g l e C o l o r e extends I o b j e t C o l o r e , I r e c t a n g l e
10 {
11 v o i d r e p e i n d r e ( C o l o r c ) ;
12 }
13
14 // i m p l e m e n t a t i o n p a r un e c l a s s e
15 p u b l i c c l a s s RectangleColore im ple me nt s I r e c t a n g l e C o l o r e {
16 ... // e c r i t u r e de t o ut e s l e s methodes d e s i n t e r f a c e s
17 }
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !