J'ai une interface pour que les auteurs de classe soient forcés d'implémenter certaines méthodes. Je veux également autoriser certaines méthodes implémentées par défaut, donc je crée une classe abstraite. Le problème est que toutes les classes héritent de la classe de base, j'ai donc quelques fonctions d'aide là-dedans.La classe abstraite n'implémente pas l'interface
J'ai essayé d'écrire: IClass avec la base abstraite mais j'ai eu une erreur que la base n'a pas implémenté l'interface. Bien sur parce que je veux ce résumé et que les utilisateurs implémentent ces méthodes. En tant qu'objet de retour, si j'utilise la base, je ne peux pas appeler les méthodes de classe d'interface. Si j'utilise l'interface, je ne peux pas accéder aux méthodes de base.
Comment faire pour que je puisse avoir ces classes auxiliaires et forcer les utilisateurs à implémenter certaines méthodes?
Je préfère la solution de Mau. C'est explicite et faites que le compilateur fasse le travail de conformité pour vous. Dans cette solution, vous pouvez oublier d'ajouter la IInterface à la classe dérivée. – PlayTank
@PlayTank: ... et finalement il va échouer sur une conversion implicite, aussi au moment de la compilation. Bien que je sois d'accord, la solution manque de rigueur articulée. – vines