Questions marquées «interfaces»

Questions sur les considérations de conception liées à l'interface, telles que la programmation de l'interface.

5
Comment appliquer le principe de séparation d'interface en C?
J'ai un module, disons «M», qui a quelques clients, disons «C1», «C2», «C3». Je veux répartir l'espace de noms du module M, c'est-à-dire les déclarations des API et des données qu'il expose, en fichier (s) d'en-tête de telle manière que - pour tout client, seules les données et les API …
15 c  interfaces  solid 


2
Maintenant que toutes les déclarations de méthodes dans une interface Java ne sont pas publiques, les méthodes doivent-elles être déclarées avec ces modificateurs?
Depuis Java 8, des defaultméthodes ont été introduites dans les interfaces. En fait, cela signifie que toutes les méthodes d'un interfacefichier ne le sont pas abstract. À partir de Java 9 (peut-être), les privateméthodes seront autorisées. Cela signifie que toutes les méthodes d'un interfacefichier ne le sont pas public abstract. …

1
Est-ce une bonne pratique d'implémenter deux méthodes par défaut Java 8 l'une par rapport à l'autre?
Je conçois une interface avec deux méthodes connexes, similaires à ceci: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Environ la moitié des implémentations ne calculeront jamais qu'une chose, tandis que l'autre moitié peut en calculer plus. Cela a-t-il …




6
Comment implémenter uniquement une partie d'une interface
Lors du développement en POO, une interface / contrat est parfois fourni par une bibliothèque que vous ne pouvez pas modifier. Appelons cette interface J. Vous avez maintenant un objet de classe A qui consomme des objets qui implémentent cette interface. A l'intérieur A, seule une petite partie des définitions …

1
Utilisation de la méthode par défaut Java
Pendant des décennies, les interfaces ont été uniquement (uniquement) utilisées pour spécifier les signatures de méthode. On nous a dit que c'était la "bonne façon de faire les choses ™". Ensuite, Java 8 est sorti et a dit: Eh bien, euh, maintenant vous pouvez définir des méthodes par défaut. Je …


4
Deux interfaces avec des signatures identiques
J'essaie de modéliser un jeu de cartes où les cartes ont deux ensembles de fonctionnalités importants: Le premier est un effet. Ce sont les changements d'état du jeu qui se produisent lorsque vous jouez la carte. L'interface pour l'effet est la suivante: boolean isPlayable(Player p, GameState gs); void play(Player p, …
13 interfaces 


4
Existe-t-il une logique d'utilisation différente pour les classes / interfaces abstraites en C ++ et Java
Selon Herb Sutter, on devrait préférer les interfaces abstraites (toutes les fonctions virtuelles pures) aux classes abstraites en C ++ pour découpler l'implémentation autant que possible. Bien que je trouve personnellement cette règle très utile, j'ai récemment rejoint une équipe avec de nombreux programmeurs Java et dans le code Java, …


3
Composition sur héritage mais
J'essaie de m'enseigner le génie logiciel et je me heurte à des informations contradictoires qui me déroutent. J'ai appris la POO et ce que sont les classes / interfaces abstraites et comment les utiliser, mais je lis ensuite qu'il faut «privilégier la composition plutôt que l'héritage». Je comprends que la …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.