Als «object-oriented» getaggte Fragen

Eine Methode, mit der ein System als eine Reihe von Objekten modelliert werden kann, die modular gesteuert und bearbeitet werden können


7
Warum ist die Instanzerstellung so, wie sie ist?
Ich habe C # in den letzten sechs Monaten oder so gelernt und beschäftige mich jetzt mit Java. Meine Frage bezieht sich auf die Instanzerstellung (in beiden Sprachen) und mehr auf: Ich frage mich, warum sie das so gemacht haben. Nehmen Sie dieses Beispiel Person Bob = new Person(); Gibt …

4
Warum sollte ein Java-Objekt nicht über die Implementierung (HashMap), sondern über die Schnittstelle (z. B. Map) definiert werden?
In den meisten Java-Codes werden Java-Objekte folgendermaßen deklariert: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); Anstatt von: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Warum wird das Java-Objekt vorzugsweise über die Schnittstelle definiert, anstatt über die Implementierung, die tatsächlich verwendet wird?


6
Gibt Ente eine Teilmenge des Polymorphismus ein?
Aus dem Polymorphismus auf Wikipedia In der Informatik ist Polymorphismus eine Programmiersprache, mit der Werte verschiedener Datentypen über eine einheitliche Schnittstelle verarbeitet werden können. Von der Ente, die auf Wikipedia schreibt In der Computerprogrammierung mit objektorientierten Programmiersprachen ist die Ententypisierung ein dynamischer Typisierungsstil, bei dem der aktuelle Satz von Methoden …

5
Ist das SRP-Prinzip (Single Responsibility Principle) ein Ziel?
Betrachten Sie zwei UI-Designer, die "benutzerattraktive" Designs entwerfen möchten. "Benutzerattraktion" ist ein Konzept, das nicht objektiv ist und nur im Kopf der Designer liegt. So könnte Designer A beispielsweise rote Farbe aufnehmen, während Designer B blaue Farbe aufnimmt. Designer A erstellt ein Layout, das sich vollständig von Designer B unterscheidet, …


6
Methodenverkettung vs. Verkapselung
Es gibt das klassische OOP-Problem der Methodenverkettung im Vergleich zu "Single-Access-Point" -Methoden: main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) Die erste scheint den Vorteil zu haben, dass jede Klasse nur für eine kleinere Menge von Operationen verantwortlich ist und alles viel modularer macht - das Hinzufügen einer Methode zu C erfordert keinen …

11
Was hat die objektorientierte Programmierung erfolgreich gemacht? [geschlossen]
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 …


6
Wann riechen Enums NICHT nach Code?
Dilemma Ich habe viele Best-Practice-Bücher über objektorientierte Praktiken gelesen, und fast jedes Buch, das ich gelesen habe, enthielt einen Teil, in dem Enums als Codegeruch bezeichnet werden. Ich denke, sie haben den Teil verpasst, in dem sie erklären, wann Aufzählungen gültig sind. Als solches suche ich nach Richtlinien und / …



2
Sollte die Serialisierung und Deserialisierung in der Verantwortung der zu serialisierenden Klasse liegen?
Derzeit bin ich in der (Neu-) Entwurfsphase mehrerer Modellklassen einer C # .NET-Anwendung. (Modell wie in M ​​von MVC). Die Modellklassen verfügen bereits über zahlreiche gut konzipierte Daten, Verhaltensweisen und Zusammenhänge. Ich schreibe das Modell von Python auf C # um. Im alten Python-Modell sehe ich eine Warze. Jedes Modell …

5
Ist der semantische Vertrag einer Schnittstelle (OOP) aussagekräftiger als eine Funktionssignatur (FP)?
Einige sagen, wenn Sie SOLID-Prinzipien auf die Spitze treiben, landen Sie in der funktionalen Programmierung . Ich bin mit diesem Artikel einverstanden, aber ich denke, dass einige Semantiken beim Übergang von der Schnittstelle / dem Objekt zur Funktion / zum Abschluss verloren gehen, und ich möchte wissen, wie funktionale Programmierung …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.