vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Kommunikation zwischen Klassen, Vererbung... 
Autor: dariegel
Datum: 25.09.08 00:34

Abend zusammen,

ich programmiere seit einiger Zeit einen Tetris-Klon, um meine .NET-Kenntnisse voranzubringen. Ich habe zwei Klassen, GameBoard und Preview, die jeweils von der .NET-Klasse LabelLabel erben. Sie dienen - wie die Namen schon verraten - zur Darstellung des Spielfeldes bzw. der Vorschau auf den nächsten Spielstein und wurden daher um diverse Methoden und Eigenschaften erweitert um dies umzusetzen.
Soweit funtkioniert alles sehr gut... nur habe ich das Gefühl, dass ich das alles noch effizienter gestalten könnte. Z.B. die Kommunikation zwischen den Klassen:

So implementiert GameBoard beispielsweise ein Objekt nextTile der benutzerdefinierten Klasse Tile, welches den kommenden Spielstein repräsentiert. Die Klasse Preview muss nun auf die Eigenschaft NextTile der GameBoard-Klasse zugreifen, um das zukünftige Teil zeichnen zu können.
Oder ein anderes Beispiel: die Definition der Spielsteinfarben. Diese sollten ja für die Vorschau und das Spielfeld gleich sein, deshalb "holt" sich die Klasse Preview über die entsprechende Methode der Klasse GameBoard die Farben zur Darstellung der Vorschau.

Mir kommt mein Code recht umflexibel vor. Die beiden Klassen sind nicht richtig unabhängig voneinander, sondern greifen ständig aufeinander zu. Natürlich habe ich Vererbung und Polymorphismus verstanden, weiß diese aber nicht so recht korrekt umzusetzen. Ich könnte theoretisch eine Basisklasse (abgeleitet von Label) für Vorschau und Spielfeld schreiben, welche gemeinsame Methoden und Eigenschaften wie etwa die Blockgröße in sich vereint. Die abgeleiteten Klassen GameBoard und Preview müssten dann durch Überschreiben jeweils eine eigene OnPaint/Draw-Methode (ggf. natürlich auch weitere Methoden etc.) erhalten. Beide Klassen sind aber gerade so unterschiedlich, dass sich eine gemeinsame Basisklasse vielleicht nicht "lohnen" würde.


Habt Ihr evtl. Tipps zur sauberen Strukturierung bzw. gemeinsamen geordneten Nutzung von Informationen durch beide Klassen? Oder einen gänzlich anderen Vorschlag zur Ausführung von GameBoard und Preview?


Vielen Dank für's Lesen!


Gruß,
Alex
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Kommunikation zwischen Klassen, Vererbung...2.238dariegel25.09.08 00:34
Re: Kommunikation zwischen Klassen, Vererbung...1.260Christoph197225.09.08 06:46
Re: Kommunikation zwischen Klassen, Vererbung...1.080keco25.09.08 15:40
Re: Kommunikation zwischen Klassen, Vererbung...1.030dariegel25.09.08 16:32
Re: Kommunikation zwischen Klassen, Vererbung...1.071keco25.09.08 16:40
Re: Kommunikation zwischen Klassen, Vererbung...1.349dariegel25.09.08 20:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel