Hi Sirhc.ITI,
also ersteinmal eine Top-Arbeit

.
hab hier im thread schon öfter mal gelesen. hab mich aber nie so richtig begeistern können von einem oop-precompiler. aber ich dachte mir mal, da ich ein paar kleine projekte realisieren will, die es in java z.b. schon gibt, dachte ich mal, warum dann nicht auch objektorientiert. und da ja SimpleOOP anscheinend nicht links liegen gelassen wird, so wie manch andere Projekte, dachte ich mal fängste hier mit an.
so lange rede kurzer unsinn...
jetzt zum thema. ich hab nämlich leider auch was zu bemängeln. nun ich bin halt ein kleiner java-fetischist, und deshalb fehlt mir was ganz entscheidenes in SimpleOOP: 'InstanceOf'.
kleine erklärung: die methode überprüft
zur Laufzeit, ob ein Objekt der angegebenen Klasse angehört, oder einer Klasse die von dieser angegebenen Klasse erbt. hier mal ein kleines beispiel um das zu veranschaulichen:
Code: Alles auswählen
Class Objekt
EndClass
Class Fahrzeug Extends Objekt
EndClass
Class Auto Extends Fahrzeug
EndClass
Procedure Test(*fahrzeug.Fahrzeug)
If InstanceOf(*fahrzeug, Auto)
Debug "ist Auto"
EndIf
If InstanceOf(*fahrzeug, Objekt)
Debug "ist Objekt"
EndIf
EndProcedure
*auto.Auto = NewObject.Auto
*fahrzeug.Fahrzeug = NewObject.Fahrzeug
Test(*auto) ; Ausgabe: "ist Auto" und "ist Objekt"
Test(*fahrzeug) ; Ausgabe: "ist Objekt"
also ich hatte schon mal eine eigene oo-programmiersprache geschrieben, die sehr an java angelehnt war, deshalb weiß ich, dass das schwieriger aussieht als man denkt.
so die erste bedingung "ein Objekt der angegebenen Klasse angehört" ist ja noch recht leicht zu realisieren: um zu prüfen, ob ein objekt z.b
genau ein auto ist, als durch 'NewObject.auto' erstellt wurde, müsste jedes objekt nur eine int-variable besitzen. zudem hat jede klasse eine eigene id. in der int-variablen wird dann die id der jeweiligen klasse gespeichert. bei InstanceOf muss nur dieser int-wert mit der id der klasse verglichen werden.
die zweite bedingung "einer Klasse die von dieser angegebenen Klasse erbt" ist halt der knackpunkt. ohne zu viel in deiner jetzigen strukture zu ändern wüsste ich da jetzt nicht, wie man das machen sollte. vielleicht hast du ja ne gute lösung dafür. würde mich sehr darüber freuen, denn das halte ich für sehr wichtig in einer oo-sprache.
ansonsten werd ich mir noch was überlegen, wie es ohne viel aufwand möglich wäre. SimpleOOP ist ja OpenSource

.
bis denne
lg kevin