Une mise en œuvre partielle d'une interface
Avoir seulement une petite quantité de temps à la recherche pour de telles choses, je ne pouvais rien voir qui a couvert mon scénario spécifique.
Je suis en train de travailler avec une 3ème partie de l'interface. Supposons pour un moment il est comme suit:
public interface interface1
{
public String getVar1();
public void method1();
public void method2();
}
J'ai besoin de créer un certain nombre de classes qui rendent l'utilisation de cette interface, mais la méthode de la mise en œuvre de "method2" serait différent sur chaque,lorsque "method1" et "getVar1" serait toujours le même code.
Est-il possible de créer une classe de base abstraite qui implémente l'interface, mais seulement les forces de la mise en œuvre de "method2" sur les classes enfant?
J'avais essayé
public abstract @Override void method2
mais tout ce qui est "acceptable" au moment de la conception dans Netbeans (ne sais pas si Eclipse agit différemment) au moment de la compilation, il se plaint de ce que method2 doit être mis en œuvre.
Si il n'est pas possible, juste assez, j'ai juste besoin de vérifier.
grâce
method2
OriginalL'auteur Paul Eden | 2013-09-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en créant une classe abstraite qui implémente l'interface. Toute sous-classe de cette classe abstraite seront nécessaires pour mettre en œuvre toutes les méthodes d'interface qui n'étaient pas encore définis.
Voir: Java tutoriel sur les classes abstraites.
OriginalL'auteur Tim Cooper
Vous pouvez créer une classe abstraite qui ne permet pas de mettre en œuvre
method2()
Alors créer de multiples implémentations:
Ups, j'ai oublié d'ajouter
implements interface1
. Corrigé cela. Merci pour l'infoOriginalL'auteur micha
Vous pouvez avoir un
abstract Class
permettant la mise en œuvre de la "méthode 1" et "getVar1" maisdecalre method2 as abstract
dans cette Classe.Maintenant Hériter de ce Résumé de la Super Classe de toutes les autres Classes!
Comme
OriginalL'auteur Nargis
Dans ce cas, vous avez 3 méthodes abstraites dans l'interface, vous pouvez remplacer une ou deux méthodes et d'autres méthodes restera comme abstraite
OriginalL'auteur alexvipul
Merci de modifier votre réponse et ajoutez un peu d'info sur la façon d'appliquer ce code.
OriginalL'auteur Jayswal Mihir