La programmation orientée objet est un paradigme de programmation utilisant des «objets»: des structures de données composées de champs de données et de méthodes ainsi que leurs interactions.
Imaginez que j'ai cette classe: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } Maintenant, j'ai une autre classe qui utilise la classe ci-dessus: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! Voilà donc le problème: j'ai accédé à un …
Je lis le livre "Exceptional C ++" par Herb Sutter, et dans ce livre j'ai appris l'idiome pImpl. Fondamentalement, l'idée est de créer une structure pour les privateobjets de a classet de les allouer dynamiquement pour diminuer le temps de compilation (et aussi masquer les implémentations privées d'une meilleure manière). …
Si j'ai le code python suivant: class Foo(object): bar = 1 def bah(self): print(bar) f = Foo() f.bah() Il se plaint NameError: global name 'bar' is not defined Comment puis-je accéder à la classe / variable statique bardans la méthode bah?
J'ai un objet python avec plusieurs attributs et méthodes. Je veux parcourir les attributs d'objet. class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements Je veux générer un dictionnaire contenant tous les attributs des objets et leurs valeurs actuelles, mais je veux le faire de manière dynamique (donc si …
Alors disons que j'ai cette interface: public interface IBox { public void setSize(int size); public int getSize(); public int getArea(); //...and so on } Et j'ai une classe qui l'implémente: public class Rectangle implements IBox { private int size; //Methods here } Si je voulais utiliser l'interface IBox, je ne …
La plupart des langages traditionnels, y compris les langages de programmation orientée objet (POO) tels que C #, Visual Basic, C ++ et Java ont été conçus pour prendre principalement en charge la programmation impérative (procédurale), tandis que les langages de type Haskell / gofer sont purement fonctionnels. Quelqu'un peut-il …
Quel serait un ensemble de hacks de préprocesseur astucieux (compatibles ANSI C89 / ISO C90) qui permettent une sorte d'orientation objet laide (mais utilisable) en C? Je connais quelques langages orientés objet différents, alors ne répondez pas avec des réponses telles que "Apprendre C ++!". J'ai lu " Programmation orientée …
J'ai passé les dernières heures à essayer de trouver une solution à mon problème, mais cela semble désespéré. Fondamentalement, j'ai besoin de savoir comment appeler une méthode parent à partir d'une classe enfant. Tout ce que j'ai essayé jusqu'à présent finit par ne pas fonctionner ou par écraser la méthode …
En C # (et dans de nombreux autres langages), il est parfaitement légitime d'accéder aux champs privés d'autres instances du même type. Par exemple: public class Foo { private bool aBool; public void DoBar(Foo anotherFoo) { if (anotherFoo.aBool) ... } } Comme l'indique la spécification C # (sections 3.5.1, 3.5.2), …
Fermé . Cette question doit être plus ciblée . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle se concentre sur un seul problème en éditant ce message . Fermé il y a 6 ans . Améliorez cette question Je ne …
Le chaînage de méthodes est la pratique des méthodes objet renvoyant l'objet lui-même afin que le résultat soit appelé pour une autre méthode. Comme ça: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() Cela semble être considéré comme une bonne pratique, car cela produit du code lisible, ou une "interface fluide". Cependant, pour moi, cela semble au …
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, un sondage ou une discussion approfondie. Si vous …
J'ai du mal à comprendre l'énoncé low in coupling and high in cohesion. J'ai cherché et lu beaucoup de choses à ce sujet sur Google, mais j'ai toujours du mal à comprendre. D'après ce que je comprends High cohesion, cela signifie que nous devrions avoir des classes spécialisées pour exécuter …
Un exemple de ce dont je parle: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Cela semble fonctionner, mais je viens de lire la section sur le remplacement des méthodes d'attributs dans la …
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.