Fragen von einem "Dummy" - Seite 129

 
MetaDriver:

Und Zeiger auf Strukturen wären sehr nützlich, und sie müssen nicht dynamisch sein - die Hauptsache ist, dass ein Index-Array anstelle der Strukturen selbst sortiert werden kann.

// In vielen Fällen ist es unerwünscht, Strukturen durch Klassen zu ersetzen. Sie sind kostengünstig (keine virtuelle Methodentabelle) und enthalten "solide" Daten.

Im Allgemeinen ist das der Grund, warum wir die Vererbung einführen werden, man kann immer einen Griff für eine umkehrbare Klasse bekommen.
 
Urain:

Diejenigen, mit denen wir begonnen haben, aus denen die Zelle vererbt wird, sind zu einer Klasse konvergiert, dann wieder zu Organen und wieder zur menschlichen Klasse konvergiert, und wieder zu Berufen divergiert.

Ich weiß nicht, wie es Ihnen geht, aber normale Menschen teilen sich nicht in Organe auf. Mehrfachvererbung ist eine sehr umstrittene Sache, und nicht umsonst wurde in der fortschrittlichsten Sprache C# beschlossen, diesen Mechanismus zugunsten von Schnittstellen abzulehnen. Glauben Sie, dass die C#-Entwickler nicht wussten, was sie taten?
 
C-4:
Ich weiß nicht, wie es Ihnen geht, aber normale Menschen spenden keine Organe. Mehrfachvererbung ist eine sehr umstrittene Sache, und nicht umsonst wurde in der modernsten Sprache C# beschlossen, diesen Mechanismus zugunsten von Schnittstellen abzulehnen. Glauben Sie, dass die C#-Entwickler nicht wussten, was sie taten?

Wie steht es mit der Organspende? :)

Die Frage ist strittig und nicht vollständig geklärt, Tatsache ist, dass C++ Mehrfachvererbung hat, MQL ist als C++-ähnliche Sprache positioniert, warum nicht.

 
C-4:
Ich weiß nicht, wie es Ihnen geht, aber normale Menschen lassen sich nicht auf Organe ein. Mehrfachvererbung ist eine sehr umstrittene Sache, und nicht umsonst wurde in der modernsten Sprache C# beschlossen, diesen Mechanismus zugunsten von Schnittstellen abzulehnen. Glauben Sie, dass die C#-Entwickler nicht wussten, was sie taten?

Bazinga :)

Zunächst einmal: Warum zum Teufel ist C# plötzlich die fortschrittlichste Sprache geworden?

Zweitens wurde in C# beschlossen, die Mehrfachvererbung von Klassen zu Gunsten der Mehrfachvererbung von Schnittstellen zu verweigern. ))) Es ist einfacher zu implementieren.

Lernen Sie das Thema.

TheXpert:

Nicht auf den ersten Blick, aber ich habe es mehr als einmal benutzt. Und zwar praktisch ohne Varianten.

Ich nehme es zurück: Ich habe die virtuelle Vererbung nur verwendet, um das Problem der mehrdeutigen Wahl der Oberklasse zu beseitigen.
 
mql5:
Im Allgemeinen, und das ist der Grund, warum wir Vererbung einführen werden, kann man immer einen Griff für eine umkehrbare Klasse bekommen...

...und eine Tabelle mit virtuellen Methoden als Belastung, was wir ja gerade vermeiden wollten :) Sonst wäre die Frage nicht aufgekommen.

Okay, es ist nicht fatal. Ich werde ein zusätzliches Index-Array verwenden.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
TheXpert:

Bazinga :)

1. erstens: Warum zum Teufel sollte C# plötzlich die fortschrittlichste Sprache sein?

(2) Zweitens wurde in C# beschlossen, die Mehrfachvererbung von Klassen zugunsten der Mehrfachvererbung von Schnittstellen aufzugeben. ))) Sie ist leichter umzusetzen.

1) Was genau sind Ihre Einwände? :)

2) Fragen wir nach Schnittstellen mit Mehrfachvererbung. :)

 
TheXpert:

Bazinga :)

Zunächst einmal: Warum zum Teufel ist C# plötzlich die fortschrittlichste Sprache geworden?

Zweitens wurde in C# beschlossen, die Mehrfachvererbung von Klassen zugunsten der Mehrfachvererbung von Schnittstellen aufzugeben. ))) Sie ist leichter umzusetzen.

Lernen Sie das Thema.

Ich nehme das zurück. Virtuelle Vererbung wurde nur verwendet, um das Problem der Mehrdeutigkeit der Oberklassenauswahl zu beseitigen.

Ich werde keine Argumente für die Aggregation nennen, ich denke, Sie kennen sie selbst. Ebenso kenne ich die Argumente, die für eine Mehrfachvererbung sprechen. Und es gibt eine Menge Rechtfertigungen dafür, sowohl auf der einen als auch auf der anderen Seite. Ich denke, es ist eine Frage, wer näher an was dran ist. Im Falle unseres Unternehmens ist die Aggregation vorzuziehen, da sie von unserem Team leichter zu entwickeln und zu pflegen ist.

Urain:

Diejenigen, bei denen wir mit einem Satz begonnen haben, von dem eine Zelle vererbt wird, konvergierten zu einer Klasse,dann divergierten sie wieder zu Organen und konvergierten wieder zu einer menschlichen Klasse, dann divergierten sie wieder zu Berufen.

Es stellt sich heraus, dass der Beruf, den Sie ausüben, der Erbe des Käfigs ist, was in gewisser Weise (unerwartet) wahr ist :). Um festzustellen, was in diesem speziellen Fall am besten zu verwenden ist, müssen Sie die Beziehung zwischen den beiden Objekten bestimmen:

  1. Objekt A ist Objekt B - Vererbung
  2. Objekt A besteht aus (hat, enthält) Objekt B - Komposition

 
MetaDriver:

1. Was genau sind die Einwände? :)

2. lassen Sie uns nach Schnittstellen fragen. mit Mehrfachvererbung. dann werde ich das unterstützen. :)

2. Ich unterstütze
 
MetaDriver:

1. Was genau sind die Einwände? :)

Jede Sprache hat ihren eigenen Anwendungsbereich. Die Behauptung, eine Sprache sei "die am weitesten entwickelte", ist im Allgemeinen absurd.

2. lassen Sie uns nach Schnittstellen fragen. mit Mehrfachvererbung. dann werde ich das unterstützen. :)

Ach, komm schon! Welchen Unterschied macht es, wie es heißt? Der Punkt ändert sich kaum.
 

C# ist definitiv die am weitesten entwickelte Sprache. Alles andere ist entweder zu veraltet oder zu spezialisiert.

Die Mehrfachvererbung von Schnittstellen ist nicht dasselbe wie die Mehrfachvererbung von Klassen. Letztere hat eine Top-Down-Hierarchie, und deshalb können sich die absteigenden Zweige stark miteinander verflechten, was zu erheblicher Verwirrung und Unordnung in der Projektarchitektur führt. Die Vererbung von Schnittstellen ist jedoch viel einfacher: Sie haben einheitliche Methoden, z. B. Suchen oder Sortieren, und wenn Sie Ihre eigene Klasse an diese Methoden anbinden möchten, schreiben Sie eine entsprechende Interaktionsschnittstelle. Dies ist keine Krücke. Dies ist C++ eine große Krücke, die für die Sprache C geschrieben wurde.

Grund der Beschwerde: