Fragen zu OOP syntax
Übersicht

![]() |
SpionAtomBetreff: Fragen zu OOP syntax |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also vorweg: objektorientiert zu programmieren habe ich in der Schule mit Java gelernt. Ich möchte es aber auch in BlitzMax können ![]() Aber vieles habe ich noch längst nicht raus. Werden referenzlose Objekte automatisch gelöscht (wie bei Java mit dem Garbage-collector), oder muss man das selbst machen? Wie macht man eine null-Referenz? Quasi ein leeres Objekt. Wie kann man bestimmte Methoden public oder private machen? Ich werde aus der Hilfe nicht schlau. ![]() Danke im vorraus Spion |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja Obj. ohne Referenz werden gekillt
LOCAL myvar:mytype ist autom. NULL oder myvar=NULL nachträglich noch |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Hilfe.
Aber nochmal konkret zum private/public problem: Wo setze ich private ein, um die Fields anzahl:Int und cKnoten:stackKnoten pivat zu machen? Und wo kommt das public hin, wenn die Methodes alle öffentlich sein sollen? Code: [AUSKLAPPEN] Type Stack Field anzahl:Int = 0 Field cKnoten:stackKnoten Method isEmpty:Int() Return (anzahl = 0) End Method Method add(pInt:Int) If anzahl = 0 Then self.cKnoten = New stackKnoten self.cKnoten.setInfo(pInt) 'cKnoten.setPre() 'Der erste Knoten hat keinen Vorgänger Else oKnoten:stackKnoten = self.cKnoten self.cKnoten = New stackKnoten self.cKnoten.setInfo(pInt) self.cKnoten.setPre(oKnoten) End If anzahl = anzahl + 1 End Method Method remove() If anzahl = 1 Then anzahl = 0 End If If anzahl > 1 Then self.cKnoten = self.cKnoten.getPre() anzahl = anzahl - 1 End If End Method Method show:Int() Return self.cKnoten.getInfo() End Method End Type |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
garnicht.
Es gibt kein private - public in klassen. Du kannst nur komplette Codeblöcke privat - public machen, also komplette klassen. in der FAQ habe ich vor "langem" eine kurze Erklärung zu Information Hidding in Modulen gemacht. Dies ist aktuell die einzige Möglichkeit private - public sinnvoll zu nutzen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
SpionAtomBetreff: Also ich hab da noch ein Problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Folgender Code wird beendet, sobald diese Zeile kommt:
Player[i] = New Snake Gibt es da was zu beachten, wenn ich Arrays und Objekte benutze? Code: [AUSKLAPPEN] Type Snake 'Die OOP-Fähigkeit ist natürlich auch ein Hammer Field xdir:Int Field ydir:Int Field k_up:Int Field k_down:Int Field k_left:Int Field k_right:Int Field headnode:node EndType Type node Field xpos:Int Field ypos:Int Field suc:node EndType Global anzahl_spieler:Int = 1 Global Player:Snake[anzahl_spieler] For i = 1 To anzahl_spieler Player[i] = New Snake Next |
||
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arrays fangen bei 0 an und hören 1 vor der Grösse auf.
Also entweder Code: [AUSKLAPPEN] For i = 0 To anzahl_spieler-1 Oder die neue Bmax Variante dafür Code: [AUSKLAPPEN] For i = 0 until anzahl_spieler Zweiteres ist das gleiche wie ersteres. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool! Danke ging schnell! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group