Entwickler-Ecke
Basistechnologien - Dynamisch Objekte erstellen
KevinMe - Sa 06.06.09 17:58
Titel: Dynamisch Objekte erstellen
Hallo Zusammen,
Ich bin gerade dabei mir Silverlight anzueignen und somit auch C#. Ich habe noch keine sehr grossen Programmiererfahrungen (seit einem Jahr Java). Ich habe nun eine sehr grundlegende Frage zu Objekten.
Grundsätzlich will ich eine kleine Applikation programmiere, mit der man Notizzettelchen erstellen kann und dann dort Notizen speichern kann.
Mein Problem: Theoretisch gibt es unendlich viele Notizzettelchen.
Ich habe eine Klasse Notes, mit der man neue Notizzettel erstellen kann. Notizzettel sind abstrahiert als Klasse Note.
Mit der Funktion createNote() will ich neue Note Objekte erstellen:
createNote() {
note1 = new Note("blue", 100, 100);
}
Und mit getText() die Notizen auslesen:
getText() {
return note1.Text();
}
Damit ich in der Funktion getText() auf das Objekt note1 zugreifen kann, muss ich den Namen als Klassenvariable speichern.
class Notes {
Note note1;
.....
Dadurch kann ich ja nicht unendlich viele Objekte erstellen, da ich diese ansonsten alle schon "vordefinieren" müsste.
Hat mir jemand eine Idee, wie ich dieses Problem lösen kann?
Vielen Dank
Kevin
JüTho - Sa 06.06.09 18:27
Hallo Kevin und :welcome:
Anstelle der Klasse Notes wäre wohl eine
List<Note> besser geeignet. Oder du machst eine Klasse Notes, in der intern eine List<Note> benutzt wird und die eine Suchfunktion Find() nach dem Namen enthält. In Frage kommt dafür auch ein Dictionary<string, Note>.
Beachte dabei, dass zwischen den Daten (also den Inhalten) und der Anzeige (also den TextBoxen oder RTF-Boxen) zu trennen ist. Du kannst zwar intern mit einer beliebigen Anzahl von Texten arbeiten, aber dem Anwender nicht zumuten, dass er eine beliebige Anzahl von Textfelder gleichzeitig auf dem Formular sieht.
Gibt es einen Grund, den Text nicht als Eigenschaft (Property) mit get/set festzulegen, sondern mit GetText() abzuholen? Zu empfehlen ist wohl auch eine Eigenschaft Name.
Falls du noch keine Literatur hast, verweise ich auf das
OpenBook Visual C# [
http://openbook.galileocomputing.de/visual_csharp/].
Viel Erfolg! Jürgen
KevinMe - Mo 08.06.09 13:55
Hallo,
Vielen vielen Dank für deine ausführliche Antwort. Ich habe zwar nicht alles verstanden, werde mich darum zuerst mal richtig in C# einarbeiten. Werde mein Notiz Projekt dann wohl zu einem späteren Zeitpunkt wieder aufgreifen =)
Vielen Dank nochmals!
Kevin
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!