Ich habe die Einführung von Oracle in OOP-Konzepte gelesen und bin auf folgende Beschreibung gestoßen:
Objekte der realen Welt haben zwei Eigenschaften gemeinsam: Sie haben alle Zustand und Verhalten. Hunde haben Zustand (Name, Farbe, Rasse, Hunger) und Verhalten (Bellen, Holen, Schwanzwedeln). Softwareobjekte sind realistischen Objekten konzeptionell ähnlich: Sie bestehen ebenfalls aus Status und verwandtem Verhalten.
Mein Problem mit dieser Passage ist , dass bei der Beschreibung Zustand seiner Mixe Attribute auch dort. Zum Beispiel sind der Name und die Farbe eines Hundes seine Attribute, während es sein Zustand ist, hungrig oder durstig zu sein.
Meiner Meinung nach ist es daher genauer, die Eigenschaften von Objekten in drei Teile zu unterteilen: Attribute, Zustände und Verhaltensweisen .
Klar, wenn ich das in eine Programmiersprache übersetze, kann ich sehen, dass die dreifache Partition eine zweifache wird, weil sowohl Attribute als auch Zustände in Feldern / Variablen gespeichert werden, während Verhalten in Methoden / Funktionen gespeichert werden.
Aber konzeptionell ist es sinnvoller, die drei Dinge getrennt zu haben.
Hier ist ein weiteres Beispiel: Betrachten Sie eine Lampe. Zu sagen, dass sowohl die Lampengröße als auch, ob sie eingeschaltet sind oder nicht, Zustände sind, ist meiner Meinung nach eine Strecke. Die Lampengröße ist ein Attribut, kein Status, während das Ein- oder Ausschalten ein Status ist.
Oder habe ich etwas verpasst?