Je me suis intéressé récemment à certains des concepts de la programmation fonctionnelle. J'utilise OOP depuis un certain temps maintenant. Je peux voir comment je créerais une application assez complexe dans la POO. Chaque objet saurait comment faire les choses que fait cet objet. Ou tout ce que la classe …
Un groupe d'amis et moi travaillons depuis peu sur un projet, et nous voulions inventer une belle façon OOP de représenter un scénario spécifique à notre produit. Fondamentalement, nous travaillons sur un jeu d'enfer de balle de style Touhou , et nous voulions créer un système où nous pourrions facilement …
J'écris un programme pour simuler l' activité des fourmis dans une grille (PDF). La fourmi peut se déplacer, ramasser des objets et les faire tomber. Le problème est que l'action des fourmis et les positions de chaque fourmi peuvent être suivies par les attributs de classe facilement (et nous pouvons …
Un jeune collègue qui étudiait OO m'a demandé pourquoi chaque objet est passé par référence, ce qui est l'opposé des types ou des structures primitifs. C'est une caractéristique commune de langages tels que Java et C #. Je n'ai pas pu trouver de bonne réponse pour lui. Quelles sont les …
Quelle est la pratique généralement acceptée entre ces deux cas: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } ou function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } En d'autres termes, est-il généralement préférable de faire circuler des objets entiers ou simplement les champs dont …
Est-il vrai que remplacer des méthodes concrètes est une odeur de code? Parce que je pense que si vous avez besoin de remplacer des méthodes concrètes: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } il peut être réécrit comme …
J'ai un morceau de code où j'itère une carte jusqu'à ce qu'une certaine condition soit remplie et ensuite j'utilise cette condition pour faire plus de choses. Exemple: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { …
La question ci-dessus est un exemple abstrait d'un problème commun que je rencontre dans le code hérité, ou plus précisément, des problèmes résultant de tentatives précédentes pour résoudre ce problème. Je peux penser à au moins une méthode de framework .NET qui est destinée à résoudre ce problème, comme la …
À la page 839 de la deuxième édition, Steve McConnell discute de toutes les façons dont les programmeurs peuvent "conquérir la complexité" dans les grands programmes. Ses conseils culminent avec cette déclaration: "La programmation orientée objet fournit un niveau d'abstraction qui s'applique aux algorithmes et aux données en même temps …
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 …
J'ai recherché la forme complète de " OOPS " dans Google , mais malheureusement, il existe de nombreuses réponses ambiguës. Certains disent que c'est " Systems ", certains disent que c'est " Structure ", et certains l'ont même mentionné comme " Synopsis ". Quelqu'un peut-il m'éclairer, pour trouver la forme …
Supposons que je dispose d'un segment de code pour me connecter à Internet et afficher des résultats de connexion similaires: HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some other …
public class MyClass { public object Prop1 { get; set; } public object Prop2 { get; set; } public object Prop3 { get; set; } } Supposons que j'ai un objet myObjectde MyClasset que je doive réinitialiser ses propriétés, est-il préférable de créer un nouvel objet ou de réaffecter chaque …
Disons que nous voulons fournir une abstraction d'un "compte" dans une banque. Voici une approche, en utilisant un functionobjet en Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def …
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.