Default methods et interface en SE 8
Bonjour,
Dans la version 8 de Java, on autorise l'implémentation de code dans les interfaces.
D'un point de vue conceptuel, c'est a mon avis un retour en arrière dangereux dont je ne vois pas les bénéfices.
A l'origine l'interface est la pour interdire l'héritage multiple et ces problèmes. Certes si 2 interfaces proposent le même code en Java 8 on peut stipuler directement <Interface>.super.<méthode> mais c'est au développeur d’être vigilant (et de faire le boulot de vérification.)
L'utilisation de classes abstraites permet déjà de factoriser du code. Quant aux problématiques d'extension ou d'abstraction d'interface l'utilisation des patterns Adapter, Façade, Composite et Bridge apporte déjà des réponses.
Et quid des compatibilités entre ancienne interface et nouvelle...
Bref, j'aimerais bien connaitre un cas qui justifie cette évolution ou entendre vos argumentations en faveur de ce nouveau type d'interface.
;)