la mise en œuvre de méthodes abstraites/classes en java
Puis-je mettre en œuvre des méthodes abstraites dans une classe de base abstraite Un en java?
Si la réponse est oui et il y a un résumé de la méthode dans une classe de base a et il existe Un dérivé de la classe B à partir de A (B n'est pas abstrait). Est-ce que B a encore à mettre en œuvre que la base de la méthode abstraite?
OriginalL'auteur Greg Oks | 2011-10-05
Vous devez vous connecter pour publier un commentaire.
Si je comprends votre question correctement, Oui.
Dans cet exemple, ClassB compiler. Il va utiliser sa propre implémentation de methodB(), et ClassA la mise en œuvre de la methodA(). Vous pouvez également remplacer methodA() dans ClassB si vous le souhaitez.
OriginalL'auteur raistlin0788
Vous pourriez avoir deux classes abstraites, X et Y, où Y s'étend X. Dans ce cas, il pourrait faire sens pour Y mettre en œuvre une méthode abstraite de X, tout en étant à l'abstrait. Un autre non-classe abstraite Z pourrait s'étendre Y. Cependant, dans votre exemple, pour Un pour mettre en œuvre ses propres méthodes abstraites est une contradiction, au point de les rendre abstrait est afin de ne pas fournir des implémentations, il ne donne que ce que les signatures de méthode devrait ressembler.
le plus probable.
OriginalL'auteur Nathan Hughes
Les classes abstraites peuvent avoir des méthodes régulières. Si vous voulez mettre en œuvre certaines des méthodes de la classe A, et laissez reste des méthodes abstraites, vous pouvez le faire. Cependant, les méthodes abstraites ne peut pas avoir un corps, donc si vous marquez une méthode abstraite, alors, il doit être mis en œuvre par une sous-classe, vous ne pouvez pas les mettre en œuvre dans la classe abstraite. Cependant, vous pouvez avoir une classe abstraite sans méthodes abstraites, puis sous-classe ne doit prolonger.
OriginalL'auteur reader_1000
Oui, vous pouvez mettre en œuvre des méthodes abstraites dans une classe qui est déclarée abstraite. Si une classe est déclarée abstraite qui ne signifie pas que tous sa méthode doit être abstraite.
Pour un béton de classe de sous, il n'est pas obligatoire de mettre en œuvre les méthodes abstraites qui sont déjà mises en œuvre par l'un de leur super-classe.
OriginalL'auteur Sashwat
Pas. Les méthodes abstraites sont destinés à être définie par la sous-classe(s). Pour plus d'informations, voir Résumé des Méthodes et des Classes. Toutefois, vous pouvez définir une méthode dans la classe de base et ont de la sous-classe(s) de le remplacer, si nécessaire.
OriginalL'auteur mre
Si vous implémentez une méthode abstraite, il n'est pas vraiment abstrait, donc non.
OriginalL'auteur Dave Newton
Oui, mais il ne peut pas être abstraite. Abstrait, il n'y pas de mise en œuvre.
Ce que vous pouvez faire est:
Ou:
Si Un a déjà une application, vous pouvez la remplacer dans B (si B est en béton), parce que B hérite par défaut de mise en œuvre de A.
OriginalL'auteur Bhesh Gurung