J'ai remarqué que depuis PHP5, des interfaces ont été ajoutées au langage. Cependant, comme PHP est typé de manière si vague, il semble que la plupart des avantages de l’utilisation des interfaces soient perdus. Pourquoi est-ce inclus dans la langue?
Après avoir lu Les noms de paquets doivent-ils être singuliers ou au pluriel? Il m'est apparu que je n'avais jamais vu un vrai débat couvrir l'un de mes bêtes noires: nommer les implémentations d'interfaces. Supposons que vous ayez une interface Orderdestinée à être implémentée de différentes manières, mais que l'implémentation …
J'essaie de bien comprendre comment implémenter un bon découplage entre une interface utilisateur et le modèle, mais je ne parviens pas à déterminer exactement où diviser les lignes. J'ai examiné Model-View-Presenter, mais je ne sais pas exactement comment procéder pour le mettre en œuvre. Par exemple, ma vue comporte plusieurs …
Si ma classe implementspossède une interface, puis-je dire que je suis l'héritage? Je sais que quand une classe une extendsautre classe, c'est l'héritage.
Assez simple. J'implémente une interface, mais il y a une propriété qui n'est pas nécessaire pour cette classe et, en fait, ne devrait pas être utilisée. Mon idée initiale était de faire quelque chose comme: int IFoo.Bar { get { raise new NotImplementedException(); } } Je suppose qu'il n'y a …
Pour simplifier l'interface, vaut-il mieux ne pas avoir la getBalance()méthode? Passer 0à la charge(float c);volonté donnera le même résultat: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Peut-être faire une note javadoc? Ou, laissez-le …
Je veux savoir pourquoi .compareTo()est dans l' Comparableinterface alors qu'une méthode comme .equalsest dans la Objectclasse. Pour moi, il semble arbitraire pourquoi une méthode comme .compareTo()n'est pas Objectdéjà dans la classe. Pour l'utiliser .compareTo(), vous implémentez l' Comparableinterface et implémentez la .compareTo()méthode à vos fins. Pour la .equals()méthode, vous remplacez …
J'ai souvent rencontré le terme "programmation vers une interface au lieu d'une implémentation", et je pense que je comprends un peu ce que cela signifie. Mais je veux m'assurer de bien comprendre ses avantages et ses implémentations possibles. «Programmation vers une interface» signifie que, lorsque cela est possible, il convient …
Mon collègue et moi avons des opinions différentes sur la relation entre les classes de base et les interfaces. Je pense qu'une classe ne devrait pas implémenter une interface à moins que cette classe puisse être utilisée lorsqu'une implémentation de l'interface est requise. En d'autres termes, j'aime voir du code …
Pour être interchangeables et testables, normalement les services avec logique doivent avoir une interface, par exemple public class FooService: IFooService { ... } Côté design, je suis d'accord avec cela, mais l'une des choses qui me dérange avec cette approche est que pour un service, vous devrez déclarer deux choses …
Il est courant d'utiliser '-able' comme suffixe pour les interfaces, par exemple Serializable Printable Enumerable Drinkable Shootable Rotatable Je pensais que «Can-» pourrait mieux parce qu'il pourrait être plus descriptif. Oui, il est plus verbeux et ajoute du bruit au nom de l'interface. En particulier, les verbes passifs peuvent être …
Au cours des derniers mois, je suis tombé plusieurs fois sur la technique / le schéma suivant. Cependant, je n'arrive pas à trouver un nom spécifique, et je ne suis pas sûr à 100% de tous ses avantages et inconvénients. Le schéma se présente comme suit: Dans une interface Java, …
Bien que cela ne soit pas obligatoire dans la norme C ++, il semble que la façon dont GCC implémente les classes parentes, y compris les classes abstraites pures, consiste à inclure un pointeur vers la table v pour cette classe abstraite à chaque instanciation de la classe en question …
La tâche consiste à configurer un élément matériel au sein de l'appareil, selon certaines spécifications d'entrée. Ceci devrait être réalisé comme suit: 1) Collectez les informations de configuration. Cela peut se produire à différents moments et à différents endroits. Par exemple, le module A et le module B peuvent tous …
Disons que vous avez une interface IFoo: public interface IFoo { void Bar(string s); int Quux(object o); } Dans la version 2 de votre API, vous devez ajouter une méthode Glargà cette interface. Comment faire sans casser vos utilisateurs d'API existants et maintenir la compatibilité descendante? Ceci est principalement destiné …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.