Ich werde eine sprachunabhängige Beschreibung von Monaden wie diese verwenden und zuerst Monoide beschreiben: Ein Monoid ist (ungefähr) eine Menge von Funktionen, die einen bestimmten Typ als Parameter annehmen und denselben Typ zurückgeben. Eine Monade ist (ungefähr) eine Reihe von Funktionen, die einen Wrapper- Typ als Parameter verwenden und denselben …
Speziell in Java, aber wahrscheinlich auch in anderen Sprachen: Wann wäre es sinnvoll, zwei Verweise auf dasselbe Objekt zu haben? Beispiel: Dog a = new Dog(); Dob b = a; Gibt es eine Situation, in der dies nützlich wäre? Warum ist dies die bevorzugte Lösung, awenn Sie mit dem durch …
Angenommen, Sie haben zwei Schnittstellen: interface Readable { public void read(); } interface Writable { public void write(); } In einigen Fällen können die implementierenden Objekte nur eines dieser Objekte unterstützen, in vielen Fällen unterstützen die Implementierungen jedoch beide Schnittstellen. Die Leute, die die Schnittstellen benutzen, müssen etwas tun wie: …
Ist die Entity Component System-Architektur per Definition objektorientiert? Es scheint mir prozeduraler oder funktionaler zu sein. Meiner Meinung nach hindert es Sie nicht daran, es in einer OO-Sprache zu implementieren, aber es wäre nicht idiomatisch, dies auf eine konsequente OO-Art und Weise zu tun. ECS scheint Daten (E & C) …
Ich bin ein Anfänger-C ++ - Programmierer, aber ich verstehe die Konzepte der Sprache ziemlich gut. Als ich anfing, externe C ++ - Bibliotheken wie SDL, OpenGL (vielleicht auch etwas anderes) zu lernen, stellte ich zu meiner großen Überraschung fest, dass sie überhaupt keine C ++ - Konzepte verwenden. Beispielsweise …
Ich habe viele Theorien über die Verkapselung und die drei Techniken zu ihrer Implementierung durchlaufen, nämlich Assoziation, Aggregation und Komposition. Was ich gefunden habe ist : Verkapselung Bei der Kapselung werden die Felder in einer Klasse privat gemacht und der Zugriff auf die Felder über öffentliche Methoden ermöglicht. Wenn ein …
In Java, C # und vielen anderen stark typisierten, statisch überprüften Sprachen schreiben wir Code wie folgt: public void m1() { ... } protected void m2() { ... } private void m2() { ... } void m2() { ... } Einige dynamisch überprüfte Sprachen bieten keine Schlüsselwörter, um den Grad …
Objekte niemals? Kaum jemals In der VIEWPOINT-Sektion von Communications of The ACM fand ich einen interessanten Artikel mit dem Titel " Objects Never? Well, Hardly Ever ". Es ist eine radikal andere Perspektive als Objekte zuerst oder Objekte spät. Er schlägt "Objekte - nie" oder vielleicht "Objekte - Graduiertenschule" vor. …
Gibt es einen Grund, eine init()Methode für einen Typ zu deklarieren ? Ich frage nicht, ob wir einen Konstruktor vorzieheninit() sollen oder wieinit() wir es vermeiden sollen, dies zu deklarieren . Ich frage , ob es irgendwelche Gründe eine hinter erklärt init()Methode ( zu sehen , wie häufig es ist) …
Diese Frage wurde von Stack Overflow migriert, da sie in Software Engineering Stack Exchange beantwortet werden kann. Vor 7 Jahren migriert . Was ist der Unterschied zwischen objektorientierten Entwurfsmustern und Prinzipien? Sind sie verschiedene Dinge? Nach meinem Verständnis versuchen beide, ein gemeinsames Ziel zu erreichen (z. B. Flexibilität). Kann ich …
Ich verstehe, dass es nach der C ++ - Spezifikation keine "Methode" gibt, und einige (viele? Die meisten?) C ++ - Programmierer betrachten "Methode" als Java-Ismus. Andererseits scheinen die Leute auch in einem C ++ - Forum über Methoden zu sprechen, ohne zu zucken. Ich suche nach bekannten Konventionen oder …
Nach Refactoring zu Mustern : Wenn eine Klasse versucht, zu viel zu tun, werden häufig zu viele Instanzvariablen angezeigt. Wenn eine Klasse zu viele Instanzvariablen enthält, darf der doppelte Code nicht weit hinterherhinken. Wie kommt es, dass zu viele Instanzvariablen zu doppeltem Code führen?
Ich habe gelesen, dass das Substitutionsprinzip von Liskov verletzt wird, wenn: Voraussetzungen sind gestärkt, oder Nachbedingungen werden geschwächt Aber ich verstehe noch nicht ganz, wie diese beiden Punkte das Liskov-Substitutionsprinzip verletzen würden. Kann jemand bitte mit einem Beispiel erklären. Wie kann eine der oben genannten Bedingungen dazu führen, dass ein …
Aus heutiger Sicht passt diese Frage nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich Debatten, Argumente, Abstimmungen oder erweiterte Diskussionen hervorrufen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden …
Kürzlich habe ich angefangen, in Groovy für ein Integrationstest-Framework für ein Java-Projekt zu programmieren. Ich verwende Intellij IDEA mit dem Groovy-Plug-In und bin überrascht, dass dies eine Warnung für alle Methoden ist, die nicht statisch sind und von keinen Instanzfeldern abhängen. In Java ist dies jedoch kein Problem (zumindest aus …
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.