Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Classe Abstraite vs Interface | Interface
Java POO
course content

Contenu du cours

Java POO

Java POO

1. Comment Travailler Avec un IDE ?
2. Poo
3. Interface

book
Classe Abstraite vs Interface

Lequel choisir ?

D'après les chapitres précédents, vous avez peut-être remarqué que les abstract classes et les interfaces sont assez similaires. Cependant, il existe des différences entre elles. Pour aller droit au but, on peut dire qu'en pratique, les interfaces sont souvent privilégiées par rapport aux classes abstraites. Mais comprenons pourquoi c'est le cas.

Quelle est la différence ?

Pour commencer, il est nécessaire de comprendre les différences entre une classe abstraite et une interface. Passons en revue la liste :

  • Syntaxe : abstract class lors de la déclaration d'une classe abstraite et interface lors de la déclaration d'une interface ;

  • Mot-clé d'héritage : extends pour hériter d'une classe abstraite, et implements pour hériter d'une interface ;

  • Noms pour les sous-classes : Une sous-classe d'une abstract class est appelée sous-classe ou classe héritée, tandis qu'une sous-classe d'une interface est appelée classe - implémentation ;

  • Nombre d'héritages : Vous pouvez hériter d'une seule classe abstraite, alors que vous pouvez hériter de plusieurs interfaces ;

  • Une abstract class peut contenir à la fois des méthodes implémentées et des méthodes abstraites. À partir de Java 8, les interfaces peuvent également avoir des méthodes default, que nous aborderons plus loin dans cette section ;

  • Les méthodes dans une classe abstraite peuvent avoir n'importe quel modificateur d'accès, tandis que dans les interfaces, seul le modificateur d'accès public est autorisé.

Note

Il est également possible d'hériter simultanément d'une classe abstraite et d'implémenter une interface. On utilise d'abord le mot-clé extends, puis implements. La syntaxe est la suivante : class ClassName extends AbstractClass implements Interface {}

En termes simples, considérez une classe abstraite comme une classe qui fournit certaines fonctionnalités et impose certaines règles mais laisse certaines parties à compléter par ses sous-classes. Une interface, en revanche, s'apparente à une liste de contrôle qu'une classe doit respecter, spécifiant quelles méthodes elle doit posséder, sans fournir de code réel.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Java POO

Java POO

1. Comment Travailler Avec un IDE ?
2. Poo
3. Interface

book
Classe Abstraite vs Interface

Lequel choisir ?

D'après les chapitres précédents, vous avez peut-être remarqué que les abstract classes et les interfaces sont assez similaires. Cependant, il existe des différences entre elles. Pour aller droit au but, on peut dire qu'en pratique, les interfaces sont souvent privilégiées par rapport aux classes abstraites. Mais comprenons pourquoi c'est le cas.

Quelle est la différence ?

Pour commencer, il est nécessaire de comprendre les différences entre une classe abstraite et une interface. Passons en revue la liste :

  • Syntaxe : abstract class lors de la déclaration d'une classe abstraite et interface lors de la déclaration d'une interface ;

  • Mot-clé d'héritage : extends pour hériter d'une classe abstraite, et implements pour hériter d'une interface ;

  • Noms pour les sous-classes : Une sous-classe d'une abstract class est appelée sous-classe ou classe héritée, tandis qu'une sous-classe d'une interface est appelée classe - implémentation ;

  • Nombre d'héritages : Vous pouvez hériter d'une seule classe abstraite, alors que vous pouvez hériter de plusieurs interfaces ;

  • Une abstract class peut contenir à la fois des méthodes implémentées et des méthodes abstraites. À partir de Java 8, les interfaces peuvent également avoir des méthodes default, que nous aborderons plus loin dans cette section ;

  • Les méthodes dans une classe abstraite peuvent avoir n'importe quel modificateur d'accès, tandis que dans les interfaces, seul le modificateur d'accès public est autorisé.

Note

Il est également possible d'hériter simultanément d'une classe abstraite et d'implémenter une interface. On utilise d'abord le mot-clé extends, puis implements. La syntaxe est la suivante : class ClassName extends AbstractClass implements Interface {}

En termes simples, considérez une classe abstraite comme une classe qui fournit certaines fonctionnalités et impose certaines règles mais laisse certaines parties à compléter par ses sous-classes. Une interface, en revanche, s'apparente à une liste de contrôle qu'une classe doit respecter, spécifiant quelles méthodes elle doit posséder, sans fournir de code réel.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt