En Java en particulier, mais probablement dans d'autres langages également: quand serait-il utile d'avoir deux références au même objet? Exemple: Dog a = new Dog(); Dob b = a; Y a-t-il une situation où cela serait utile? Pourquoi serait-ce une solution préférée à utiliser achaque fois que vous souhaitez interagir …
Je vais utiliser une description indépendante du langage de monades comme celle-ci, décrivant d'abord les monoïdes: Un monoïde est (grosso modo) un ensemble de fonctions qui prennent un certain type en paramètre et renvoient le même type. Une monade est (à peu près) un ensemble de fonctions qui prennent un …
Supposons que vous ayez deux interfaces: interface Readable { public void read(); } interface Writable { public void write(); } Dans certains cas, les objets d'implémentation ne peuvent prendre en charge que l'un d'entre eux, mais dans de nombreux cas, les implémentations prendront en charge les deux interfaces. Les personnes …
L' architecture Entity Component System est-elle orientée objet, par définition? Cela me semble plus procédural ou fonctionnel. À mon avis, cela ne vous empêche pas de l'implémenter dans un langage OO, mais il ne serait pas idiomatique de le faire de manière résolument OO. Il semble que ECS sépare les …
Je suis un programmeur C ++ de niveau débutant, mais je comprends assez bien les concepts du langage. Quand j'ai commencé à apprendre les bibliothèques C ++ externes, comme SDL, OpenGL (peut-être autre chose aussi), à ma grande surprise, j'ai découvert qu'elles n'utilisaient pas du tout les concepts C ++. …
J'ai parcouru de nombreuses théories sur ce qu'est l'encapsulation et les trois techniques de sa mise en œuvre, qui sont l'association, l'agrégation et la composition. Ce que j'ai trouvé c'est : Encapsulation L'encapsulation est la technique consistant à rendre les champs d'une classe privés et à fournir l'accès aux champs …
En Java, C # et de nombreux autres langages fortement typés et vérifiés statiquement, nous sommes habitués à écrire du code comme ceci: public void m1() { ... } protected void m2() { ... } private void m2() { ... } void m2() { ... } Certaines langues vérifiées dynamiquement …
Objets Jamais? Eh bien, presque jamais Dans la section VIEWPOINT des Communications de l'ACM, j'ai trouvé un article intéressant intitulé " Objets jamais? Eh bien, presque jamais ". C'est une perspective radicalement différente de celle des objets en premier ou des objets en retard. Il suggère "des objets jamais" ou …
Y a-t-il un but pour déclarer une init()méthode pour un type? Je ne demande pas si nous devrions préférer init()un constructeur ou comment éviter de déclarerinit() . Je demande s'il y a une raison derrière la déclaration d'une init()méthode (voir à quel point elle est courante) ou si c'est une …
Quelle est la différence entre les modèles de conception orientés objet et les principes? S'agit-il de choses différentes? Autant que je sache, les deux essaient d'atteindre un objectif commun (par exemple, la flexibilité). Alors, puis-je dire qu'un modèle est un principe et vice versa? Principe de conception = SOLIDE (c.-à-d. …
Je comprends que selon la spécification C ++, il n'y a pas de "méthode", et certains (beaucoup? La plupart?) Programmeurs C ++ considèrent la "méthode" comme un Java-isme. D'un autre côté, même sur un forum C ++, les gens semblent parler de méthodes sans se contracter. Je recherche des conventions …
Selon Refactoring to Patterns : Lorsqu'une classe essaie d'en faire trop, elle apparaît souvent comme trop de variables d'instance. Lorsqu'une classe a trop de variables d'instance, le code dupliqué ne peut pas être loin derrière. Comment le fait d'avoir trop de variables d'instance conduit-il à du code en double?
J'ai lu que le principe de substitution de Liskov est violé si: Les conditions préalables sont renforcées, ou Les postconditions sont affaiblies Mais je ne sais pas encore comment ces deux points violeraient le principe de substitution de Liskov. Quelqu'un peut-il expliquer avec un exemple. Plus précisément, comment l'une des …
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une discussion approfondie. …
Récemment, j'ai commencé à programmer dans Groovy pour un framework de test d'intégration, pour un projet Java. J'utilise Intellij IDEA avec le plug-in Groovy et je suis surpris de voir comme un avertissement pour toutes les méthodes qui ne sont pas statiques et ne dépendent d'aucun champ d'instance. En Java, …
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.