OO ich geb mir die Kugel

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Ticha

Betreff: OO ich geb mir die Kugel

BeitragSa, Okt 11, 2008 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute

ich bin grad dabie von der alten Funktioanlen programmierung auf die Objektorientiere, ZUkunftsweisende Programmierung umzusateigen. Ich geb mir hier bald die Kugel. Ich bekomm da irgendwie Kopfweh xD


von gerade so ein wenig am baselnm und hab folgende Klasse gebaut. Aber er jammert, dass er TImage nict kenne würde ??

Code: [AUSKLAPPEN]

Type Bild

Type bild:TImage

Method SetImage(zeichenkette$ )

   this.bild = LoadImage( zeichenkette$ )

End Method


End Type


was mach ich falsch?

gruss ticha


ok fehler gesehen xD

d-bug

BeitragSa, Okt 11, 2008 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Was immer das sein soll, es ist völlig daneben:

Code: [AUSKLAPPEN]
Type Bild

   Field MyBild:TImage '<-- Field, nicht Type und der Name des Fields sollte <> dem Namen des Types sein

   Method SetImage(zeichenkette$ )

      Self.MyBild = LoadImage( zeichenkette$ ) '<-- "This" gibt es nicht bei BMax heißt es "Self"

   End Method


End Type

BladeRunner

Moderator

BeitragSo, Okt 12, 2008 10:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wenn Du es zumindest ansatzweise mit Datenkapselung haben willst so:

Code: [AUSKLAPPEN]
SuperStrict

Type TBild
   
   'Data
   'if a Field/Global starts with an underscore it means it is encapsuled inside the type. 
   Field _bild:TImage
   
   'Globals start with g_.
   Global g_list:TList = New TList
   
   'Functions
   
   Function Create:TBild()
      'creates a new instance of Tbild and adds it to internal list.
      Local b:Tbild = New TBild
      g_list.addlast(b)
      Return b
   End Function
   
   'Methods
   
   Method SetBild(url:String)
      'loads an image
      _bild = LoadImage(url)
   End Method
   
   Method GetBild:TImage()
      'returns the image handle
      Return _bild
   End Method
   
End Type

Local bild:TBild = TBild.Create()
bild.SetBild("Bla.png")
Local my_image:TImage = bild.Getbild()
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group