Eine Frage an die OOP-Experten. - Seite 2

 
Реter Konow:

In OOP ist ein "Objekt" ein Verweis auf eine Klasse, in der ihre Felder (Eigenschaften) deklariert sind. Ich verstehe ein Objekt als einen nummerierten Satz von Eigenschaften, von denen jede eine Zelle in einem Array ist. Das ist der Unterschied.

Die Fragen stehen nicht im Zusammenhang mit dem Thema der grafischen Schnittstellen. Ich habe die grafischen Bibliotheken schon lange umgangen und habe dort nichts zu suchen. Aber ich interessiere mich jetzt für das Thema KI, und das wirft neue Herausforderungen und Fragen auf.

Dann nehmen Sie eine Bibliothek von der Stange, freunden Sie sich mit mql an und legen Sie los. Warum das Rad neu erfinden?

 
Artyom Trishkin:
Erklären Sie, was Sie mit "...Es handelt sich um eine statische Hierarchie" meinen. Konstant und unveränderlich"?
Nun, jede Kategorie hat einen bestimmten statischen Satz von Begriffen. Sie kann ergänzt werden, aber ihr "Fundament" ist unveränderlich. Solche Sets bilden eine "statische" Hierarchie.
 
Реter Konow:

In OOP ist ein "Objekt" ein Verweis auf eine Klasse, in der ihre Felder (Eigenschaften) deklariert sind. Ich verstehe ein Objekt als einen nummerierten Satz von Eigenschaften, von denen jede eine Zelle in einem Array ist. Das ist der Unterschied.

Ihre Entscheidung, aber Sie führen den Begriff der Zweideutigkeit in die Terminologie ein

Artyom Trishkin:
Erklären Sie, was Sie mit "...Und wir sprechen von einer statischen Hierarchie. Konstant und unveränderlich"?

)))))

er hat seine eigene Terminologie, und wir spielen "Rate mal, wie es heißt".

SZZY: Ich habe fünfmal den Arbeitsplatz gewechselt, aber nach dem zweiten Mal wurde mir klar, dass man, wenn man sich schnell in ein Team einfügen will, lernen muss, in der gleichen Sprache wie die Kollegen zu kommunizieren, d. h. man muss in der Lage sein, eine Frage unter Verwendung von Fachbegriffen zu stellen, die zuvor allgemein akzeptiert wurden - das ist am effektivsten, sonst bekommt man als Antwort "hier sind die Handbücher, lesen Sie sie").

 
Реter Konow:
Nun, jede Kategorie hat einen bestimmten statischen Satz von Begriffen. Er kann aufgefüllt werden, aber sein "Fundament" bleibt unverändert. Solche statischen Begriffsgruppen bilden eine "statische" Hierarchie.

Sie meinen, Sie haben ein Objekt mit einer festen Anzahl von Feldern und müssen eine Hierarchie von solchen Objekten erstellen? Aber jedes Objekt hat eine statische Anzahl von Feldern (solange Sie deren Anzahl nicht selbst im Code der Klasse ändern).

Ich verstehe nicht ganz, was Sie meinen. Kategorie - was meinen Sie? "Stiftung"- was meinen Sie?

 
Igor Makanu:

Ihr Fall, aber Sie führen von Anfang an eine mehrdeutige Terminologie ein

)))))

Er hat seine eigene Terminologie, und wir spielen "Errate die Melodie".

SZZY: Ich habe 5 Mal den Arbeitsplatz gewechselt, aber nach dem 2. Mal habe ich erkannt, dass man, um schnell ins Team zu kommen, zuerst lernen muss, in der gleichen Sprache wie die Kollegen zu kommunizieren, d.h. in der Lage zu sein, eine Frage unter Verwendung von zuvor vereinbarten Fachbegriffen zu stellen - das ist am effektivsten, sonst bekommt man die Antwort "hier sind die Handbücher, lesen Sie sie" )))

Wenn es sich um eine statische Objekthierarchie handelt, dann ist ein assoziatives Array angebracht. Und wenn wir über eine andere Statik von ich weiß nicht, was sonst noch, dann..., dann wirft es eine erklärende Frage an Peter auf.
 
Artyom Trishkin:

Sie meinen, dass Sie ein Objekt mit einer festen Anzahl von Feldern haben und eine Hierarchie solcher Objekte erstellen müssen? Aber jedes Objekt hat eine statische Anzahl von Feldern (bis Sie sie selbst im Klassencode hinzufügen).

Ich kann Ihnen nicht ganz folgen. Kategorie - was meinen Sie? " Stiftung - was meinen Sie?

Bei einem Objekt mit einer festen Anzahl von Feldern ist das anders. Hier geht es um einen philosophischen, nicht um einen programmatischen Kontext von Konzepten. Darin sollten Sie sich gut auskennen. Aus philosophischer Sicht ist ein Objekt eine Entität, die durch eine benannte Menge von Eigenschaften dargestellt wird. Eine Eigenschaft ist ein obligatorisches Attribut eines Objekts und allgemein einer beliebigen Entität (Prozess, Zustand, Wert...). Eine Kategorie ist eher eine Eigenschaft als ein Objekt, und als Eigenschaft ist sie eine Variable. Die Liste ihrer Unterkategorien ist dann eine Liste ihrer Werte im Status "Variable-Eigenschaft".

Außerdem ist die Kategorienhierarchie ein statischer Satz von Beziehungen. Sie spiegelt die Verschachtelung der Links in der Hierarchie wider.

Es ist ein Bild der Welt, das als Wissensbasis dargestellt wird.

 
Реter Konow:

Ein Objekt mit einer unveränderlichen Anzahl von Feldern ist etwas anderes. Die Konzepte stehen hier eher in einem philosophischen als in einem programmatischen Kontext. Darin sollten Sie sich gut auskennen. Philosophisch gesehen ist ein Objekt eine Entität, die als benannter Satz von Eigenschaften dargestellt wird. Eine Eigenschaft ist ein obligatorisches Attribut eines Objekts und allgemein einer beliebigen Entität (Prozess, Zustand, Wert...). Eine Kategorie ist eher eine Eigenschaft als ein Objekt, und als Eigenschaft ist sie eine Variable. Die Liste ihrer Unterkategorien ist dann eine Liste ihrer Werte im Status "Variable-Eigenschaft".

Außerdem ist die Kategorienhierarchie ein statischer Satz von Beziehungen. Sie spiegelt die Verschachtelung der Links in der Hierarchie wider.

Es ist ein Bild der Welt, das als Wissensbasis präsentiert wird.

Peter, du stellst mich als eine Art hartgesottenen Philosophen hin. Dies ist jedoch keineswegs der Fall. Ich arbeite mit einem absolut begrenzten Satz von Begriffen, die in das allgemeine Konzept von OOP passen.

Wenn wir über das Bild der Welt sprechen, kann jedes Lebewesen als Objekt bezeichnet werden. Jedes Lebewesen hat eine Reihe von Eigenschaften, die uns eindeutig sagen, welcher Klasse von Lebewesen es zuzuordnen ist. Aber alle Lebewesen haben grundlegende Eigenschaften, und diese sind unveränderlich - ist es das, was Sie mit "Fundament" meinten?

 
Artyom Trishkin:

Peter, du stellst mich als eine Art hartgesottenen Philosophen hin. Dies ist jedoch keineswegs der Fall. Ich arbeite mit einer sehr begrenzten Anzahl von Konzepten, die in das allgemeine Konzept von OOP passen.

Wenn wir über das Bild der Welt sprechen, kann jedes Lebewesen als Objekt bezeichnet werden. Jedes Lebewesen hat eine Reihe von Eigenschaften, die uns eindeutig sagen, welcher Klasse von Lebewesen es zuzuordnen ist. Aber alle Lebewesen haben grundlegende Eigenschaften, und die sind unveränderlich - ist es das, was Sie mit "Fundament" meinten?

Ja, das ist richtig. Jedes Objekt hat grundlegende Eigenschaften. Und jede gehört zu einer Kategorie, die wiederum in einer anderen Kategorie verschachtelt ist, und diese wiederum in der nächsten Kategorie, und so weiter, bis hin zur Spitze der Abstraktion. Dieser "Weg" von einem bestimmten Objekt zu seiner Kategorie, Supra-Kategorie und Supra-Kategorie ist statisch. Deshalb habe ich den Begriff der Grundlage eingeführt, d.h. die unveränderlichen Beziehungen zwischen den Kategorien. Daraus ergab sich die Aufgabe, eine Hierarchie aufzubauen. Aber vielleicht sind Speicher und Computerkapazitäten nicht ideal für den Aufbau komplexer, verschachtelter Strukturen. Möglicherweise lässt sich dies aus technischen Gründen nicht effizient umsetzen.

 
Реter Konow:

Ja, richtig. Jedes Objekt hat grundlegende Eigenschaften. Und jedes Objekt gehört zu einer Kategorie, die wiederum in einer anderen Kategorie verschachtelt ist, die wiederum in der nächsten Kategorie verschachtelt ist, und so weiter, bis hin zur Spitze der Abstraktion. Dieser "Weg" von einem bestimmten Objekt zu seiner Kategorie, Supra-Kategorie und Supra-Kategorie ist statisch. Deshalb habe ich den Begriff der Grundlage eingeführt, d.h. die unveränderlichen Beziehungen zwischen den Kategorien. Daraus ergab sich die Aufgabe, eine Hierarchie aufzubauen. Aber vielleicht sind Speicher und Computerkapazitäten nicht ideal für den Aufbau komplexer verschachtelter Strukturen. Möglicherweise lässt sich dies aus technischen Gründen nicht effizient umsetzen.

Kreatur.

Flora/Fauna

Unterarten

Arten

Familie

usw.

Ist es das, was Sie wollen?

Nun, es ist eine einfache Vererbung von der Basisentität "Entity".

Aber man kann noch weiter gehen - es gibt einzellige und mehrzellige Lebewesen, und das gilt für alle Lebewesen. Aber es gibt auch nicht-lebendige. Es hängt alles von den Aufgaben ab, die Sie benötigen, um Eigenschaften eines Basisobjekts zu finden und von ihnen zu erben.

Wenn man sich richtig ins Zeug legt, könnte man bis zu den Atomen vordringen und sie auf der Suche nach einem fundamentalen Ausgangsobjekt in ihre Bestandteile zerlegen (Vorsicht - eine Spaltungsreaktion könnte zu einer Kettenreaktion werden, und man würde die halbe Welt zerstören :))

 
Реter Konow:

Wie führt man eine OOP-Schleife über Objekte und ihre Eigenschaften aus?

Ich führe zum Beispiel eine Schleife wie folgt aus:

Wenn ich Ihren Code richtig verstehe, ist hier sein OOP-Gegenstück:

class MyClass
{
public:
   int _X_SIZE;
   color _this_state_color;
   
   int props[];
   
   void Redraw();
};

MyClass* G_CORE[obj_total];

//Цикл по объектам в поиске нужного значения конкретного свойства.

for( int a1 = 0; a1 < obj_total; a1++ )
{
   if( G_CORE[a1]._X_SIZE == THIS_SIZE )
   {
      G_CORE[a1]._this_state_color = clrWhite;
      G_CORE[a1].Redraw();
   }
}

//Цикл по свойствам в поиске неверного значения

for( int a1 = 0; a1 < prop_total; a1++ )
{
   if( G_CORE[ELEMENT].props[a1] > Max_value )
   {
      G_CORE[ELEMENT].props[a1] = Max_value;
      G_CORE[ELEMENT].Redraw();
   }
}