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


5
Möglichkeiten, eindeutige Instanzen einer Klasse sicherzustellen?
Möchten Sie diesen Beitrag verbessern? Geben Sie detaillierte Antworten auf diese Frage, einschließlich Zitaten, und erläutern Sie, warum Ihre Antwort richtig ist. Antworten ohne ausreichende Details können bearbeitet oder gelöscht werden. Ich suche nach verschiedenen Möglichkeiten, um sicherzustellen, dass jede Instanz einer bestimmten Klasse eine eindeutig identifizierbare Instanz ist. Zum …

1
Wie verifiziere ich das Liskov-Substitutionsprinzip in einer Vererbungshierarchie?
Inspiriert von dieser Antwort: Liskov Substitutionsprinzip erfordert , dass Voraussetzungen können in einem Subtyp nicht gestärkt werden. Nachbedingungen können in einem Subtyp nicht abgeschwächt werden. Invarianten des Supertyps müssen in einem Subtyp erhalten bleiben. Verlaufsbeschränkung (die "Verlaufsregel"). Objekte gelten nur durch ihre Methoden als veränderbar (Kapselung). Da Subtypen Methoden einführen …





3
Abstrakte Basisklasse mit Interfaces als Verhalten?
Ich muss eine Klassenhierarchie für mein C # -Projekt entwerfen. Grundsätzlich ähneln die Klassenfunktionen den WinForms-Klassen. Nehmen wir als Beispiel das WinForms-Toolkit. (Ich kann jedoch weder WinForms noch WPF verwenden.) Es gibt einige grundlegende Eigenschaften und Funktionen, die jede Klasse bereitstellen muss. Maße, Position, Farbe, Sichtbarkeit (wahr / falsch), Zeichenmethode …

6
Reale Szenarien für geschützte Methoden
Heute ist mir aufgefallen, dass ich protectedim C ++ - Code grundsätzlich keine Methoden verwende, da ich selten das Bedürfnis habe, nicht öffentliche Methoden eines übergeordneten Elements aufzurufen. Ich verwende protected in Java im Muster der Template-Methode, aber da Sie private Methoden in C ++ überschreiben können, brauche ich das …


2
Objektorientierte vs. vektorbasierte Programmierung
Ich bin hin- und hergerissen zwischen objektorientiertem und vektorbasiertem Design. Ich liebe die Fähigkeiten, die Struktur und die Sicherheit, die Objekte der gesamten Architektur verleihen. Gleichzeitig ist mir die Geschwindigkeit sehr wichtig, und einfache Float-Variablen in einem Array helfen wirklich bei vektorbasierten Sprachen / Bibliotheken wie Matlab oder Numpy in …


2
Stack erweitert LinkedList. Ein Verstoß gegen das Liskov-Substitutionsprinzip?
Es gibt eine Klasse LinkedList mit Funktionen wie add_first (), add_last (), add_after (), remove_first (), remove_last () und remove (). Jetzt gibt es einen Klassenstapel, der Funktionen wie push (), pop (), peek () oder top () bereitstellt. Um diese Methoden zu implementieren, werden die LinkedList-Klassenmethoden erweitert. Handelt es …


8
"Komposition vor Vererbung" - Ist der einzige Grund, sich gegen Signaturänderungen zu verteidigen?
Diese Seite befürwortet Komposition über Vererbung mit dem folgenden Argument (umformuliert in meinen Worten): Eine Änderung der Signatur einer Methode der Oberklasse (die in der Unterklasse nicht überschrieben wurde) führt an vielen Stellen zu zusätzlichen Änderungen, wenn Vererbung verwendet wird. Wenn wir jedoch Komposition verwenden, befindet sich die erforderliche zusätzliche …

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.