Zitat von
Robert_G:
Zitat von
Nonsense:
Zitat von
Luckie:
Befindest du dich in der gleichen
Unit? Innerhalb der gleichen
Unit sind auch private Felder einer Klasse für andere sichtbar.
Hat das einen tieferen Sinn? Irgendwie etwas verwirrend, weil ich keinen Sinn erkennen kann.
Ich denke mal der "Sinn" dahinter ist, dass
IMHO ca. 50% der Delphi-"Programmierer" keinerlei Ahnung von
OOP haben. Wenn sie dann doch etwas
OOP programmieren wollen, wollen sie's wohl so simpel wie möglich -> so müssen sie sich keine Gedanken über die Sichtbarkeit innerhalb einer
Unit machen.
Du kennst doch die typischen Fragen in der
DP: "Gibt's 'ne Komponente hierfür?", "Gibt's 'ne Komponente dafür?", ...
Da Delphi darauf abzielt VB'ler zu bekehren ist diese Implementierung gar nicht so unverständlich.
VB ist halt alles andere als
OOP.
Nachtrag:
@Hansa, das ist jetzt nicht dein Ernst, oder?
@Nonsense: Das Verahlten der
IDE macht Sinn, auch wenn Du es im Moment nicht verstehst. Ich kann jetzt hier kein Tutorial über den Sinn des Konzeptes von Friendklassen machen, aber es ist ein akzeptiertes Konzept in der
OOP, ich persönlich habe noch nie gehört das jemand gesagt hat, das war ein Fehler. Ich denke,am sichersten kommst du zu mehr Informationen und Verständnis dafür, wenn du nach Friend - Klassen suchst, bei dem Delphi - Ersatzkonzept dafür würde mir jetzt kein Stichwort einfallen.
@Robert_G:
Wenn man auf ein Konzept stößt, das einem das Gefühl vermittelt, man habe
OOP besser verstanden als Anders H., dann sollte man vieleicht in sich gehen, und darüber nachdenken,ob man sich nicht gründlich auf dem Holzweg befindet. Delphi - Language (Objekt-Pascal) basiert auf einem sehr gut durchstrukturierten und sauber umgesetzten
OOP - Konzept. Und es ist kein Kompromiß für
OOP-Unfähige Entwickler. Man kann in Delphi zwar genau wie in C++(Builder), Java, oder C# zwar auch eine Menge erreichen, indem man Obejktbasiert statt Objektorientiert entwickelt, das läßt aber keine Rückschlüsse auf die Qualität des Grundkonzeptes zu. Und das ist in Delphi nach wie vor sehr gut. Im Gegenteil, die Möglichkeit, Komponenten durch verschiedene Techniken an einen bestimmten Zweck anzupassen statt immer sofort neue Klassen ableiten zu müssen ist gerade eine Stärke des Konzeptes.
Es ist auch ein horrender Blödsinn, zu behaupten es gäbe hier irgendwelche Kompromisse, um VB-Entwicklern zu gefallen.
Die Frage, gibt es eine Komponente hierfür oder dafür, zeigt lediglich daß jemand das Grundkonzept moderner Softwareentwickung verstanden hat (wenn vielleicht auch unbewußt), mit dem diese versucht, erwachsen zu werden. und versucht die Quote gescheiterter Projekte unter die 80% Marke zu drücken. Der goldene Grundsatz lautet, 'Never make it, if you can buy it'. Was glaubst du. was jeder Projektleiter oder Budgetverantwortliche der seinen Job versteht, einem Anwendungsentwickler erzählt, der eine Komponente, die er in einer halben Stunde downloaden und einsetzen kann, mit einem Aufwand von einer oder mehreren Mannwochen selbst entwickelt.
Grüße
Woki