Ich weiß, das scheint eine seltsame Frage zu sein, da der Punkt, an dem zwei oder mehr Objekte dieselbe Klasse teilen, darin besteht, dass sie dasselbe Verhalten haben, dh dass ihre Methoden identisch sind.
Ich bin jedoch gespannt, ob es OOP-Sprachen gibt, mit denen Sie die Methoden von Objekten auf dieselbe Weise neu definieren können, wie Sie unterschiedliche Werte für ihre Felder zuweisen können. Das Ergebnis wären Objekte aus derselben Klasse, die nicht mehr genau dasselbe Verhalten aufweisen.
Wenn ich mich nicht irre, kannst du dieses JavaScript? Zusammen mit dieser Frage frage ich, warum sollte jemand dies tun wollen?
setClickHandler()
Methode zu übergeben und verschiedene Instanzen derselben Klasse dazu zu bringen, sehr unterschiedliche Dinge zu tun. In Sprachen, die keine passenden Lambda-Ausdrücke haben, ist es einfacher, eine neue anonyme Unterklasse nur für einen neuen Handler zu erstellen. In der Vergangenheit galt das Überschreiben von Methoden als Kennzeichen einer neuen Klasse, während das Festlegen der Werte von Attributen nicht als Kennzeichen galt. Insbesondere bei Handlerfunktionen wirken sich die beiden Methoden jedoch sehr ähnlich aus, sodass die Unterscheidung zu einem Krieg um Wörter wird.