Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Klassen, Erben, private, pulic (https://www.delphipraxis.net/73597-klassen-erben-private-pulic.html)

dino 20. Jul 2006 11:44


Klassen, Erben, private, pulic
 
Tutorial

dies steht alles schon im Einsteiger-Teil erklärt, aber ist das überhaupt wichtig?
wird das von euch genutzt, solte ich das vielleicht besser später nochmal angucken, oder brauch ich das nicht, denn das ist das erste, was ich so ganz und garnicht verstehe, obwohl ich bisher das Tutorial komplett durch hab und auch fast komplett verstanden habe.

Daniel 20. Jul 2006 11:50

Re: Klassen, Erben, private, pulic
 
Zuallererst: Sehr löblich, dass Du diese Tutorials durcharbeitest. Aber: Ein Forum kann ein Buch nicht ersetzen.


Die Sichtbarkeiten sind eines der wichtigsten Elemente der OOP überhaupt.
Stichwort: "Information Hiding". Du als Autor einer Klasse kannst bestimmen, welche Informationen nach außen hin sichtbar sind.

Zum Beispiel hast Du so die Möglichkeit, Properties mit sog. Setter-Methoden zu versehen und damit eingehende Werte zu prüfen - nur um mal eine Anwendungsmöglichkeit zu nennen.

Bevor Du dieses Konzept nicht drin hast, wirst Du nicht sinnvoll mit der OOP arbeiten können.

Khabarakh 20. Jul 2006 11:57

Re: Klassen, Erben, private, pulic
 
Titel
Klassen, Erben, [...]
Ich denke, es geht dino eher um den Bedarf der gesamten Objektorientierung.
@dino:
Es gibt IMO nichts Wichtigeres und Hilfreicheres als OOP.
Als Anfänger musst du die objektorientierte Programmierung noch nicht in allen Bestandteilen beherrschen und kannst auch gerne erst eher prozedural aufgebaute Programme schreiben, aber sobald du auch nur ein bisschen professioneller werden willst, kommst du nie im Leben an OOP vorbei.

3_of_8 20. Jul 2006 12:02

Re: Klassen, Erben, private, pulic
 
Aaah, die guten alten Zeiten...

Keine 3 cm vom Formdesigner weggehen und (fast) komplett imperativer Code... Das warn noch Zeiten...

Was ich damit sagen will: Ich hab auch zuerst OOP tunlichst vermieden - Aber glaub mir: Wenn dus erstmal beherrscht, erleichtert das einiges.

mkinzler 20. Jul 2006 12:03

Re: Klassen, Erben, private, pulic
 
Delphi-Quellcode:
type
   Klasse1 = class
    private
     FA: string;
    public
     B: Integer;
     procedure setA( value: string);
    published
     property A: string read FA write setA;
   end;
   
...
var
  c1: Klasse1;

...
    procedure Klasse1.setA( value: string);
    begin
        If value <> '' then FA := Value;
    end;

...
   c1.B := 1; //Geht
   c1.FA := 'Hallo'; //Geht nicht
   c1.A := 'Hallo'; //Geht, FA wird mit Hallo überschrieben
   c1.A := ''; //Geht, FA behält aber alten Wert

3_of_8 20. Jul 2006 12:09

Re: Klassen, Erben, private, pulic
 
WTF?

Hast du nicht was vergessen: TKlasse1.

Und { und } gibts in C, in Delphi gibts begin und end; ;)

Muetze1 20. Jul 2006 12:18

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von 3_of_8
Hast du nicht was vergessen: TKlasse1.

Wieso? Eine Klasse kann auch HansMeier heissen. Das T vorne ist nicht zwingend.

@dino: Schon allein für das Verständnis würde ich dir anraten ein wenig grundwissen der OOP Programmierung mitzubringen. Schon allein, da dein Formular (TForm1 o.ä.) eine Ableitung von TForm ist. Anderes Beispiel: Wenn du ein Formular fertig gestellt hast und dir nun sagst, dass du dies zweimal gleichzeitig brauchst. In OOP eine Leichtigkeit, aber mit einer Antwort wie "... instanziier dir einfach nur eine neue Instanz und vermerk dir beide - und achte darauf, dass du dir nicht deine erste Instanz in der globalen Form-Variable überschreibst..." würdest du dann bestimmt nicht gross weiterkommen.

Schaden kann es nie, weil OOP ist nunmal in Delphi, C++, C#, Java sogar in PHP und vielen anderen Sprachen nutzbar und ein sehr hilfreiches Konzept. Schon allein durch die Kapselung von Daten (Variablen) in einer Klasse erhöht man die Sicherheit und die Wartbarkeit, wenn vorher diese Variablen als globale Variablen definiert worden wären.

Dax 20. Jul 2006 12:19

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von 3_of_8
WTF?

Genau.

Zitat:

Zitat von 3_of_8
Hast du nicht was vergessen: TKlasse1.

Was ist eigentlich so schlimm dran, eine Klasse so zu benennen, dass sie mal nicht mit T anfängt?

3_of_8 20. Jul 2006 12:29

Re: Klassen, Erben, private, pulic
 
Das T-Präfix ist in Delphi Konvention - Ich denke mal man sollte sich daran halten, vor allem wenn man Beispielcode schreibt.

Und man sollte eventuell auch mal die geschweiften Klammern in begin/end; ändern.

mkinzler 20. Jul 2006 12:47

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von 3_of_8
Das T-Präfix ist in Delphi Konvention - Ich denke mal man sollte sich daran halten, vor allem wenn man Beispielcode schreibt.

Nur unter Win32.

Zitat:

Und man sollte eventuell auch mal die geschweiften Klammern in begin/end; ändern.
:oops: Arbeite gerade parallel in php.

3_of_8 20. Jul 2006 12:49

Re: Klassen, Erben, private, pulic
 
Es geht auch um Win32.

Dax 20. Jul 2006 12:50

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von 3_of_8
Es geht auch um Win32.

Genau. Es geht eigentlich generell ums OOP-Konzept, oder irr ich mich grade? :gruebel:

3_of_8 20. Jul 2006 12:55

Re: Klassen, Erben, private, pulic
 
Der Threadtyp ist Win32.

Es mag allgemein um OOP gehen, da der Beispielcode allerdings auf diesen Thread bezogen war, sollte er auch Win32 sein und sich an die Win32 Konventionen halten.

Aber eigentlich ist es auch egal, da eine Diskussion nicht viel Sinn hat.

mkinzler 20. Jul 2006 12:58

Re: Klassen, Erben, private, pulic
 
Ich bitte unterwürfig um Verzeihung das ich die heiligen konventionen von Delphi verletzt habe und bitte den Zeremonienmeister Gnade vor Recht zu ergehen lassen. ;-)

3_of_8 20. Jul 2006 12:59

Re: Klassen, Erben, private, pulic
 
Es geht doch nur darum, dass man sich bei Beispielcode (der Vorbildfunktion hat) an die Konvention halten sollte. Ich wollte nur freundlich darauf hinweisen.

dino 20. Jul 2006 13:16

Re: Klassen, Erben, private, pulic
 
danke danke, aber jetzt bin ich natürlich erstmal damit erschlagen, dass ich OOP lernen soll :(
ich konnte wie gesagt bisher alles in einem durchlesen, und mit ausprobieren hab ichs dann auch verstanden, aber das OOP macht für mich schon deshalb schwierigkeiten, weil ichs bisher noch nie eraucht habe und uch nicht weiss, wofür ich das hätte gebrauchen können.
Wenn ihr mir dabei helfen würdet, würdet ihr mir nicht nur verständniss hilfe geben, sondern auch motivationshilfe...
Würdet ihr mir da paar konkrete Beispiele nennen?
oder muss ich mir eben Bücher kaufen?

Balu der Bär 20. Jul 2006 13:22

Re: Klassen, Erben, private, pulic
 
Beo größeren und sinnvollen Programmen wirst du es ohne OOP schwer haben, also kauf dir ein ordentlichen Buch und lern die Grundlagen. ;)

dino 20. Jul 2006 13:56

Re: Klassen, Erben, private, pulic
 
könnt ihr mir dann etwas empfehlen? :duck:

dino 21. Jul 2006 18:01

Re: Klassen, Erben, private, pulic
 
ihr habt doch alle schon viele Bücher gekauft, da muss es doch einige geben, die ihr am Anfang geholt habt, und ihr auch empfehlen wollt...

Muetze1 21. Jul 2006 22:05

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von dino
ihr habt doch alle schon viele Bücher gekauft, da muss es doch einige geben, die ihr am Anfang geholt habt, und ihr auch empfehlen wollt...

Naja, nie was zu OOP oder Delphi - aber ich kann dir in Sachen Hardwareprogrammierung und DOS/Windows Internals ein paar amerikanische Bücher empfehlen...

inherited 21. Jul 2006 22:32

Re: Klassen, Erben, private, pulic
 
Zitat:

Zitat von 3_of_8
Das T-Präfix ist in Delphi Konvention...

Und in Borland C++-Builder und Kylix ;)

Ich kann dir für OOP ein C++-Buch empfehlen namens "C++ für Kids". Wers geschrieben hat hab ich vergessen. So in Gelb glaub ich (Besaß ich irgendwann mal). Da ist OOP sehr schön erklärt. (Allerdings C++)

dino 21. Jul 2006 23:06

Re: Klassen, Erben, private, pulic
 
danke danke, aber hat auch jemand was für Delphi(möglichst für speziel Delphi 2005) und OOP?

xaromz 21. Jul 2006 23:12

Re: Klassen, Erben, private, pulic
 
Hallo,
Zitat:

Zitat von dino
ihr habt doch alle schon viele Bücher gekauft, da muss es doch einige geben, die ihr am Anfang geholt habt, und ihr auch empfehlen wollt...

ich habe schon oft gelesen, dass http://www.amazon.de/exec/obidos/ASIN/3446223169/delphipraxis-21 für Anfänger gut sein soll.

Gruß
xaromz

dino 21. Jul 2006 23:19

Re: Klassen, Erben, private, pulic
 
danke sehr
aber: machen die Versionsunterschiede nicht Probleme?(2007 und 7)
bzw. wird OOP darin genauer erlärt?(denn das ist das hauptproblem bei mir im Moment, da ich immernoch nicht weiss, was es ist, nur das es hilfreich ist)

http://ec1.images-amazon.com/images/...CMZZZZZZZ_.jpg
Objektorientierte Programmierung mit Delphi 1. Mit Delphi-Klassen arbeiten. Ein Unterrichtswerk. (Lernmaterialien)
von Peter Damann, Johannes Wemßen

kennt das jemand?

Hansa 22. Jul 2006 07:44

Re: Klassen, Erben, private, pulic
 
Du fängst quasi bei Null an ? Dann wird es eher hilfreich sein, zuerst mal das zu wissen, was elementar ist und sich nicht am Anfang mit den neueren Sachen zu quälen. Lade dir im Borland Museum das Handbuch für TP 5.5 runter und lese die Kapitel über OOP. Sobald klar ist, um was es überhaupt geht, dann wird es ein leichtes sein, zu verstehen, was es mit private, Properties usw. auf sich hat. Zum Einstieg sind neuere Bücher IMHO schlechter geeignet, weil sie natürlich auf alles eingehen, so daß letzenendes das Grundprinzip nicht so klar rüber kommt.

dino 22. Jul 2006 22:02

Re: Klassen, Erben, private, pulic
 
und wo finde ich das?

Hansa 22. Jul 2006 23:54

Re: Klassen, Erben, private, pulic
 
Liste der Anhänge anzeigen (Anzahl: 1)
Suche ist ein Problem ? :shock:

Bei Google suchenmanual Borland 5.5 museum

weil ich den Link jetzt sowieso habe :

http://bdn.borland.com/article/20803

und dann noch ein Anhang zum Download für die nicht des Englischen mächtigen oder die, die nicht wissen, was mit einem roten Kreuz im Internet zu tun ist. 8) geht 2.5 MB ? :gruebel: Falls nicht : selber machen.

@Daniel : das Teil (oder nur der Link) müßte irgendwo mal gespeichert werden. Siehe hierzu auch den momentan noch dritten (deutschen) Kommentar unten auf der Seite.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz