Notes de cours Java

Programming · course

Voir tous les documents en programmation

Notes de cours Java

Les classes abstraites

  • Une classe abstraite est une classe marquée avec le modifieur abstract.
  • Une classe qui a une méthode abstraite (déclarée ou héritée) doit être déclarée abstraite.
  • Une classe abstraite peut avoir des constructeurs et des méthodes concrètes.
  • Une classe abstraite peut ne pas avoir de méthodes abstraites.
  • Une classe ne peut pas être marquée à la fois par les modifieurs final et abstract.
  • Une classe abstraite ne peut pas être instanciée.
  • Une classe concrète qui hérite directement ou indirectement d’une classe abstraite doit

redéfinir toutes les méthodes abstraites qu’elle a héritées (celles qui n’ont pas été redéfinies

dans ses classes mères).

Les interfaces

  • Une interface est déclarée par le mot clé interface.
  • Les interfaces sont des contrats désignant ce qu’une classe les implémentant doit proposer

comme méthodes (lesnsignatures imposées par les contraintes de redéfinition) sans dicter

Publicité

comment elle va les implémenter (le corps de la redéfinition).

  • Une interface ne peut pas être instanciée.
  • Une interface n’a pas de constructeurs.
  • Les interfaces ne peuvent déclarer que des variables statiques, finales et publiques (donc des

constantes).

  • Les méthodes des interfaces sont implicitement publiques (public) et abstraites (abstract). Il

n’est pas obligatoire de mentionner ces modifieurs mais il est interdit d’en mettre d’autres.

  • Les méthodes d’interface ne peuvent être ni statiques, ni finales.
  • Les interfaces ne peuvent qu’hériter d’autres interfaces.
  • Une interface peut hériter (extends) d’une ou plusieurs interfaces (composition d’interfaces).
  • Une classe peut implémenter (implements) une ou plusieurs interfaces mais n’hérite que

d’une seule.

  • Lorsqu’une classe hérite d’une autre et implémente des interfaces, la déclaration de

Publicité

l’héritage (extends) doit précéder celle de l’implémentation de l’interface (implements)

  • Lorsqu’une classe implémente une interface ou plusieurs interfaces, elle hérite toutes leurs

méthodes abstraites. Dans ce cas :

o Si la classe est abstraite, elle n’a pas d’obligation de redéfinition.

o Si la classe est concrète, elle doit redéfinir correctement toutes les méthodes

abstraites héritées.

  • Une interface, comme les classes abstraites constitue un type et peut donc être utilisée pour

déclarer des références ou autres (p.ex. tableau, collection, etc…)

Publicité

  • Une interface, comme les classes abstraites peut constituer un super-type et être utilisée de

manière polymorphe.

o Imposable im1 = new Employe()

o Imposable im2 = new Multinationale().

o List<Imposable> maListe = new ArrayList<Imposable>()

Mohamed Ramzi HADDAD

8

2AINFO, 1ATEL, 2ATA

Publicité

Notes de cours Java

  • Exemples d’interfaces en java : Comparable, Serializable, Clonable, Runnable, List,

Map, Set, etc…

Mohamed Ramzi HADDAD

9

2AINFO, 1ATEL, 2ATA