Diskussion zum Artikel "Grundlagen der objektorientierten Programmierung" - Seite 2

 
Urain:

Übrigens bin ich überrascht, dass solche grundlegenden Paradigmen in der Beschreibung von OOP in der Hilfe nicht behandelt werden.

Dies ist nicht OOP, sondern eine Folge seiner Anwendung in Ihrer Wahrnehmung von Modellen.
 
Urain:

1 Nein, es ist die Verwendung von Vererbung.

2 ist wärmer, es ist die Komposition, die neben Assoziation und Aggregation eine der drei Bindungsoptionen ist.

Übrigens bin ich überrascht, dass solche grundlegenden Paradigmen nicht in der Beschreibung von OOP in der Hilfe behandelt werden.

Es handelt sich eher um Programmiertricks als um direkte OOP-Funktionen.

Bezüglich der Aggregation:

In der objektorientierten Programmierung bezieht sich Aggregation (auch Komposition oder Inklusion genannt) auf die Technik der Erstellung einer neuen Klasse aus bestehenden Klassen durch Verschachtelung. Die Aggregation wird oft auch als "Zugehörigkeitsbeziehung" bezeichnet, ähnlich wie bei "ein Auto hat eine Karosserie, Räder und einen Motor".

Die verschachtelten Objekte einer neuen Klasse werden in der Regel als privat deklariert, so dass sie für Anwendungsprogrammierer, die mit der Klasse arbeiten, unzugänglich sind. Andererseits kann der Ersteller der Klasse diese Objekte ändern, ohne den bestehenden Client-Code zu stören. Darüber hinaus können Sie durch das Ersetzen verschachtelter Objekte zur Laufzeit das Verhalten des Programms dynamisch ändern. Der Vererbungsmechanismus bietet diese Flexibilität nicht, da für abgeleitete Klassen Einschränkungen festgelegt werden, die bei der Kompilierung überprüft werden.

Auf der Grundlage der Aggregation wird die Methode der Delegation implementiert, bei der eine einem externen Objekt zugewiesene Aufgabe an ein internes Objekt delegiert wird, das auf die Lösung derartiger Aufgaben spezialisiert ist.

http://ru.wikipedia.org/wiki/Агрегирование_( Programmierung)

Dies ist also der Geist der OOP, der sich durch alle OOP zieht.
 
sergeev:

Öffnen Sie die Hilfe zu Strukturen. und lesen Sie auch Typkonvertierung, über Strukturen.

Die Member von Methoden waren von Anfang an verfügbar. Warum wollen Sie sie entfernen?

IMHO müssen Sie mich mit jemandem verwechseln.
 
Urain:

Assoziation und andere Möglichkeiten der Verknüpfung von Klassen.

Nun, was ist es für ) . Hier sind Muster ist ja, aber es ist nicht das Niveau der Anfänger.
Ganzzahlig:

Ein Punkt:

m_size.

Das Präfix m_ wird in gängigen Namenskonventionen den Klassendaten vorangestellt. Es ist vor allem für die explizite Unterscheidung von lokalen Variablen von Klassendaten in Methoden gedacht.

Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
Integer:
Ist es möglich, Funktionen in eine Struktur zu schreiben? Wahrscheinlich Zeiger auf eine Klasse - ich habe es gesehen, ausprobiert, es ist besser, es nicht zu wissen.
Probieren Sie es aus - Sie können sie schreiben und aufrufen. Und das sollten Sie auch.
[Gelöscht]  
Urain:

Warum werden die Codes nicht durch den Styler geleitet?

Es wird für einen Neuling schwierig zu lesen sein, er sieht einen Stil in ME und einen anderen im Artikel.

ZY Der Artikel geht nicht auf die Problematik der Klassenverbindung ein.

Im Allgemeinen ist OOP natürlich ein komplexes Thema, es ist nicht einfach, es in einfacher Sprache zu beschreiben, aber irgendwo muss man ja anfangen.


Quellenstil korrigiert
 
Guter Artikel...macht mich leicht zu verstehen, über OOP, danke.
 
TheXpert:
Nun, was ist es für? Muster sind ja, aber das ist nicht das Niveau von Anfängern.

Ein Moment:

m_size.

Das Präfix m_ wird in den gängigen Namenskonventionen an Klassendatenmitglieder angehängt. Es ist vor allem dazu gedacht, lokale Variablen in Methoden explizit von Klassendaten zu unterscheiden.


Das Präfix m_ wurde bei der Programmierung unter MFC für private und geschützte Variablen verwendet, andere "allgemein akzeptierte" Konventionen gibt es nicht. Nachdem MFC von der Bildfläche verschwunden ist, hat jeder dieses dumme m_ vergessen, Gott sei Dank )). Wenn Sie es nicht glauben - laden Sie die Beispiele herunter und überzeugen Sie sich selbst (es gibt auch einen Abschnitt über MFC) http://archive.msdn.microsoft.com/vcsamples.

Visual C++ Samples and Related Documentation for Visual Studio 2010 - Home
  • archive.msdn.microsoft.com
French, German, Italian, Japanese, Korean, Russian, Simplified Chinese, Spanish, Traditional Chinese The Microsoft Visual C++ 2010 Sample Library provides code examples for applications and tools showing the capabilities of Visual C++ and the libraries and technologies it supports. Visual Studio 2010 Samples are now live! Click on the links...
 
VDev:

Das Präfix m_ wurde bei der Programmierung unter MFC für private und geschützte Variablen verwendet, es gibt keine anderen "allgemein akzeptierten" Konventionen. Nachdem MFC die Szene verlassen hat, sind alle diese dummen m_ vergessen worden, Gott sei Dank )) Wer es nicht glaubt - laden Sie die Beispiele herunter und überzeugen Sie sich selbst (es gibt auch einen Abschnitt über MFC) http://archive.msdn.microsoft.com/vcsamples.

Nein. При чем тут MFC? https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

ist Bequemlichkeit und nichts weiter. Jede Programmierfirma kann ihre eigenen Regeln haben.

Венгерская нотация — Википедия
  • ru.wikipedia.org
Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) они могут быть...
 

Sehr notwendiger Artikel!

Ich schlage den Entwicklern vor, eine neue Kategorie für Artikel zu erstellen. Etwas wie "Grundlagen (Theorie) der Programmierung"....