Eine Frage an die OOP-Experten. - Seite 48

 
Artyom Trishkin:

Es gibt einen neuen Betreiber. Mit diesem Operator können Sie zur Laufzeit ein neues Objekt erstellen.

Es gibt Arrays von Zeigern auf Objekte. In diese Arrays können Sie einen Zeiger auf ein beliebiges Objekt setzen.

Zeiger-Arrays sind selbst Objekte.

Denken Sie darüber nach und beantworten Sie die Frage, ob es möglich ist, den Objekten während der Ausführung Eigenschaften hinzuzufügen.

Lesen Sie meinen Beitrag aufmerksam. Ich war sofort mit der Möglichkeit einverstanden, neue Eigenschaften hinzuzufügen, erkannte dann aber die Sinnlosigkeit einer solchen Maßnahme. Neue Eigenschaften "on the fly" - bedeutet nicht, dass die Struktur des Objekts aktualisiert wird. Die Vererbungsbeziehungen und damit das gesamte System bleiben unverändert. Infolgedessen erhält das Objekt eine Eigenschaft, die nutzlos ist, weiles keine Integration dieser Eigenschaft gibt, ohne neue Algorithmen zu konstruieren, die mit ihr arbeiten .
 
Реter Konow:
Lesen Sie meinen Beitrag aufmerksam. Ich war sofort mit der Möglichkeit einverstanden, neue Eigenschaften hinzuzufügen, aber dann erkannte ich die Sinnlosigkeit davon. Neue Eigenschaften "on the fly", - bedeutet nicht die Aktualisierung der Struktur des Objekts. Die Vererbungsbeziehungen und damit das gesamte System bleiben unverändert. Infolgedessen erhält das Objekt eine Eigenschaft, die nutzlos ist, weil es keine Integration dieser Eigenschaft gibt, ohne neue Algorithmen zu konstruieren, die mit ihr arbeiten .

Es gibt ein grundlegendes Eigenschaftsobjekt, das mit einem Ereignishandler ausgestattet ist. Diese Objekteigenschaft führt die primitive Funktion des Vergleichs ihres Zustands mit dem vorherigen Zustand aus und behält das Ergebnis des Vergleichs - mehr/weniger/keine Änderung. Sie tut dies kontinuierlich während ihrer gesamten Lebensdauer.

Jede Eigenschaft eines anderen Objekts ist diese Objekteigenschaft. Und das andere Objekt selbst ist der Erbe der Objekteigenschaft.

So lebt jedes Objekt, indem es ständig seinen Zustand und den Zustand seiner Eigenschaften überprüft, und diese wiederum überprüfen den Zustand aller seiner Eigenschaften (wenn sie selbst Nachkommen der Objekt-Eigenschaft sind).

Jede Eigenschaft hat einen eindeutigen Bezeichner.

So weiß jedes Objekt, welche Eigenschaft sich geändert hat.

Jedes Objekt hat einen Handler, der reagiert, wenn sich die Eigenschaften in die eine oder andere Richtung ändern. Hier muss der "Ersteller" angeben, wie das Objekt auf eine Eigenschaftsänderung reagiert.

Und Sie wollen, dass sich ein Programm ohne Ihr Zutun dorthin "mutiert", wo es hin soll? Neue Handler für Eigenschaftsänderungen selbst erstellen?

Nun, hier ist ein Hinweis auf die DNA. Sie beschreibt nicht nur ein Objekt und seine Eigenschaften. Er kodiert auch sein Verhalten. Im Wesentlichen müssen Sie also das Verhalten von Eigenschaften kodieren, wenn sich bestimmte externe Faktoren ändern. Und fangen Sie klein an und arbeiten Sie sich allmählich an komplexere Zusammenhänge heran. Erfahren Sie alles über die DNA und erstellen Sie Ihren eigenen genetischen Code, umObjekte zu beschreiben. Jedes Objekt hat seinen eigenen Strang. Ich fürchte, es gibt nicht genug Leben, um den Schöpfer zu übertreffen.
 

Es gab einmal ein Computerspiel, das sehr cool war - Snake Fights. Man musste eine Schlange programmieren, aber die Programmiermethode war so seltsam, dass es nicht offensichtlich war, wie sie sich verhalten würde. Es war eine ziemlich lustige Unterhaltung.

Hat es jemand gespielt?

 
Dmitry Fedoseev:

Es gab einmal ein Computerspiel, das sehr cool war - Snake Fights. Man musste eine Schlange programmieren, aber die Programmiermethode war so seltsam, dass es nicht offensichtlich war, wie sie sich verhalten würde. Es war eine ziemlich lustige Unterhaltung.

Hat es jemand gespielt?

Ich habe einen für Spectrum in Assembler programmiert. Zuerst habe ich Zellen geschaffen, die mit sich selbst und der äußeren Umgebung interagieren und sich selbst reproduzieren können. Und dann beschloss ich, Kämpfe zwischen zwei Kreaturen zu veranstalten - jeder der beiden Benutzer konnte den Verhaltenscode seiner Kreatur eingeben und dann zusehen, wie die beiden Kreaturen das Territorium und einander eroberten.

Es war lustig.

 
Artyom Trishkin:

Es gibt ein grundlegendes Eigenschaftsobjekt, das einen Ereignishandler hat. Diese Objekteigenschaft führt die primitive Funktion des Vergleichs ihres Zustands mit dem vorherigen Zustand aus und speichert das Ergebnis des Vergleichs - mehr/weniger/keine Änderung. Sie tut dies kontinuierlich während ihrer gesamten Lebensdauer.

Jede Eigenschaft eines anderen Objekts ist diese Objekteigenschaft. Und das andere Objekt selbst ist der Erbe der Objekteigenschaft.

So lebt jedes Objekt, indem es ständig seinen Zustand und den Zustand seiner Eigenschaften überprüft, und diese wiederum überprüfen den Zustand aller seiner Eigenschaften (wenn sie selbst Nachkommen der Objekt-Eigenschaft sind).

Jede Eigenschaft hat einen eindeutigen Bezeichner.

So weiß jedes Objekt, welche Eigenschaft sich geändert hat.

Jedes Objekt hat einen Handler, der reagiert, wenn sich die Eigenschaften in die eine oder andere Richtung ändern. Hier muss der "Schöpfer" angeben, wie das Objekt auf eine Änderung der Eigenschaft reagiert.

Und Sie wollen, dass sich ein Programm ohne Ihr Zutun dorthin "mutiert", wo es hin soll? Neue Handler für Eigenschaftsänderungen selbst erstellen?

Sie haben beschrieben, wie Sie eine neue Variable in einen Block von Algorithmen einfügen, wobei ein "universeller" Handler den Wert der Variablen und ihre Verwendung steuert. Der Handler behandelt den Wert der Eigenschaft nicht selbst. Es führt seine Änderung nur"bei Aufforderung" der Algorithmen durch und behebt dieses Ereignis.

Die Algorithmen selbst setzen die Idee um, wie genau die Eigenschaften die Funktionsweise des Objekts bestimmen. Eine neue Eigenschaft sind neue Algorithmen, die ein neues Verhalten beschreiben (Beziehung zwischen Ereignissen und Parameterwerten), und sie können nicht "on the fly", also auf standardisierte Weise, durchgeführt werden.

 
Artyom Trishkin:

...

Nun, hier ist ein Hinweis auf die DNA. Sie beschreibt nicht nur ein Objekt und seine Eigenschaften. Er kodiert auch sein Verhalten. Im Wesentlichen müssen Sie also das Verhalten von Eigenschaften kodieren, wenn sich bestimmte externe Faktoren ändern. Fangen Sie klein an und arbeiten Sie sich zu komplexeren Zusammenhängen vor. Erfahren Sie alles über die DNA und erstellen Sie Ihren eigenen genetischen Code, um Objekte zu beschreiben . Jedes Objekt hat seinen eigenen Strang. Ich fürchte, es gibt nicht genug Leben, um den Schöpfer zu übertreffen.
Das ist unschlagbar. Sie können versuchen, einen verblassten Schatten zu erzeugen, aber das ist es wert).
 
Реter Konow:

Sie haben beschrieben, wie Sie eine neue Variable zu einem Block von Algorithmen hinzufügen, wobei ein "universeller" Handler ihren Wert und die Ereignisse, die mit ihr geschehen, kontrolliert. Der Handler steuert nicht den Wert der Eigenschaft selbst. Es führt seine Änderung nur "bei Aufforderung" der Algorithmen durch und behebt dieses Ereignis.

Die Algorithmen selbst setzen die Idee um, wie genau die Eigenschaften die Funktionsweise des Objekts bestimmen. Bei einer neuen Eigenschaft handelt es sich um neue Algorithmen, die ein neues Verhalten beschreiben (Beziehung zwischen Ereignissen und Parameterwerten) und nicht "on the fly", also auf herkömmliche Weise, erstellt werden können.

Der Wert einer Immobilie wird durch das äußere Umfeld "gesteuert". Jedes Eigenschaftsobjekt ist mit der Fähigkeit ausgestattet, diese Eigenschaft zu prüfen und das Ergebnis der Prüfung zu speichern.

Ein ganzes Objekt kann die Werte und Zustände aller seiner Eigenschaften sehen. Einschließlich neu geborener Immobilien.

Doch wie sie auf Veränderungen ihrer Eigenschaften reagieren soll, ist in ihrer genetischen Kette festgelegt.

 
Mensch, Peter ist ein richtiger OOP-Guru geworden, der in seinem Kopf und im Forum mit wortreichem, klugem Geschwätz jongliert. Bravo, ich hätte nicht gedacht, dass irgendetwas das Hochgefühl des Spinners in den Schatten stellen könnte, aber es ist verdammt noch mal passiert.
 
Vict:
Mensch, Peter ist ein richtiger OOP-Guru geworden, der in seinem Kopf und im Forum mit wortreichem, klugem Geschwätz jongliert. Bravo, ich hätte nicht gedacht, dass irgendetwas das Hochgefühl des Spinners in den Schatten stellen könnte, aber es ist verdammt noch mal passiert.
Ich bin einfach in der Lage, abstrakte Modelle der Konzepte anderer Leute zu erstellen, sie zu sortieren, ohne ins Detail zu gehen, zu extrapolieren und Symbiosen mit meinen eigenen Konzepten zu schaffen. Einfach.)
 
Artyom Trishkin:

Der Wert der Immobilie wird von der äußeren Umgebung "verwaltet". Jedes Eigenschaftsobjekt hat die Möglichkeit, diese Eigenschaft zu prüfen und das Ergebnis der Prüfung zu speichern.

Das gesamte Objekt hat die Möglichkeit, die Werte und Zustände aller seiner Eigenschaften zu sehen. Einschließlich neu erstellter Immobilien.

Doch wie sie auf Veränderungen ihrer Eigenschaften reagieren soll, ist in ihrer genetischen Kette festgelegt.

Ich hatte nicht erwartet, dass Sie die Struktur des Themas so gut verstehen. Mit anderen Worten, meine Gedanken sind parallel, auch wenn ich Ihnen in diesen Fragen etwas verschweige. Es ist noch viel zu früh.