2 votes

Mise en œuvre des méthodes des classes et interfaces abstraites Java

Si vous avez une interface (Position) avec 3 méthodes (x(), y() et z()) et également une classe abstraite, appelons-la Forme.

Shape implémente Position et ne donne du code que pour x() et y(). Le compilateur devine-t-il implicitement que z() est une méthode abstraite ?

3voto

John B Points 17042

Oui. Tant que Shape est abstraite, il n'est pas nécessaire d'implémenter toutes les méthodes de Position. Cela sera exigé de toute classe concrète.

3voto

Jaimin Patel Points 3215

Le compilateur java ajoute les mots-clés public et abstract avant la méthode de l'interface et les mots-clés public, static et final avant les membres de données.

enter image description here

0voto

kunal Points 4181

Oui, car vous ne pourrez pas instancier la classe abstraite (Shape), le compilateur sait que le z() sera implémenté par une autre classe enfant (de Shape).

0voto

Saket Points 9771

Les classes abstraites ne doivent pas nécessairement mettre en œuvre toutes les méthodes. C'est la responsabilité de leurs classes/implémentations concrètes. Dans ce cas, oui z() sera traitée comme une méthode abstraite de Shape .

0voto

Peter Perháč Points 8007

Chaque classe non abstraite devra fournir l'implémentation de toutes les méthodes définies dans l'une de ses superclasses ou interfaces abstraites. Le compilateur est suffisamment intelligent pour vérifier toute la hiérarchie des classes afin de déterminer si vous avez oublié d'implémenter quelque chose que votre classe prétend implémenter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X