Ik ben wat aan het stoeien met een typesysteem en ik heb ruzie gekregen met mijn union types. Als ik bv een class(type) heb, dan kan dit alleen een subtype zijn van een interface of een andere class.
Maar stel dat ik de volgende union type ga maken:
union(class1,class1)
dan is class1 een subtype hiervan, omdat de verzameling van waarden voor class1 een deelverzameling is van die union. (Tenslotte is die union een verzameling van alle waarden voor class1).
Wie kan mij een beetje op het goeie spoor helpen?
[edit]
Ik zit zelf denk ik wel redelijk op het goeie spoor. Je moet kijken of het een subtype is van het linker type, of van het rechtertype van de union. Maar gewoonlijk is het zo dat een class alleen een subtype is van een andere class als hij ervan extend, maar in het geval van union types gaat deze vlieger niet op. *zit beetje met zijn isSubType systeem te klooien*
Maar stel dat ik de volgende union type ga maken:
union(class1,class1)
dan is class1 een subtype hiervan, omdat de verzameling van waarden voor class1 een deelverzameling is van die union. (Tenslotte is die union een verzameling van alle waarden voor class1).
Wie kan mij een beetje op het goeie spoor helpen?
[edit]
Ik zit zelf denk ik wel redelijk op het goeie spoor. Je moet kijken of het een subtype is van het linker type, of van het rechtertype van de union. Maar gewoonlijk is het zo dat een class alleen een subtype is van een andere class als hij ervan extend, maar in het geval van union types gaat deze vlieger niet op. *zit beetje met zijn isSubType systeem te klooien*
[ Voor 43% gewijzigd door Alarmnummer op 03-03-2003 23:54 ]