simple frage

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Freeman

Betreff: simple frage

BeitragMo, Sep 19, 2005 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

type ich
   field Nick:String
   field age:byte
   field wohnort:String
    field schule:String
   
method sinnlos1:ich()
   local s:ich=new ich
   s.nick="Fr3eMaN"
   s.age=18
   return s
End method

method sinnlos2:ich()
   local s2:ich=new ich
   s2.wohnort="Osteroda"
   s2.schule="Philipp-Melanchthon-Gymnasium in Herzberg"
   return s2
End Method

End type

local test:ich=new ich

while not keydown(key_escape)
cls
test.sinnlos1()
test.sinnlos2()

drawtext test.schule,0,0
flip
flushmem()
wend


wieso werden die werte nicht ausgegeben? was ist hier falsch?
Danke

Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Suco-X

Betreff: .....

BeitragMo, Sep 19, 2005 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast Graphics vergessen..
Edit
Außerdem ist der Code schwachsinn.

Meinst du das so ?

Code: [AUSKLAPPEN]

Type ich
   Field Nick:String
   Field age:Byte
   Field wohnort:String
    Field schule:String
   
Method sinnlos1()
   self.nick="Fr3eMaN"
   self.age=18
End Method

Method sinnlos2()
   self.wohnort="Osteroda"
   self.schule="Philipp-Melanchthon-Gymnasium in Herzberg"
End Method

End Type


Graphics 800,600,0

Local test:ich=New ich

While Not KeyDown(key_escape)
Cls
test.sinnlos1()
test.sinnlos2()

DrawText test.schule,0,0
Flip
FlushMem()
Wend


Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Freeman

BeitragMo, Sep 19, 2005 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ja sowas meinte ich. Das mit graphics is ja klar. Der code sollte ja auch keinen sinn ergeben, es ging nur um das prinzip. weslhalb werden die werte nicht übergeben? das versteh ich nich

Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Jolinah

BeitragMo, Sep 19, 2005 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit den zwei Methoden machst du komplett neue Objekte statt nur die Variablen des aktuellen Objektes zu ändern. Diese neuen Objekte gibst du dann zurück, aber sie werden nirgends zugewiesen.

Wenn du einfach die Variablen ändern willst kannst du schreiben: Nick = "Bla" oder Self.Nick = "Bla" so wie Suco das gemacht hat, wobei Self das aktuelle Objekt darstellt.

Um deinen Code benutzen zu können müsste das ganze irgendwie so aussehen:

Code: [AUSKLAPPEN]
Local test:ich = new ich
Local sinnlos1:ich = test.sinnlos1()  'neues Objekt wird erzeugt
Local sinnlos2:ich = test.sinnlos2()  'dito

Print sinnlos1.nick
Print sinnlos2.schule

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group