Page 1 of 1

Type-test type-guard

Posted: Sat Jan 07, 2006 12:02 pm
by Shinta
Wat is de type-test type-guard methodiek ?

Posted: Sat Jan 07, 2006 12:50 pm
by Arawn
:huh:

Posted: Sat Jan 07, 2006 12:58 pm
by Yo_rik
In plaats van met polymorfisme (aparte type-bound procedures) de verschillende verwerkingen voor de verschillende uitgebreide types te voorzien, plaats je alle verschillende verwerkingen in 1 procedure. In die procedure zorg je met type-tests en type-guards dat de juiste verwerking toegepast wordt.
Dus, de juiste keuze van verwerking wordt niet gemaakt bij het oproepen van de procedure, maar pas in de opgeroepen procedure zelf.
Voorbeeld: in plaats van (polymorfisme)

Code: Select all

PROCEDURE (punt: Point) DoeIets; (*basistype*)
PROCEDURE (punt: Point3D) DoeIets;
PROCEDURE (punt: Point4D) DoeIets;
Is er maar 1 procedure (type-test type-guard)

Code: Select all

PROCEDURE (punt: Point) DoeIets;
BEGIN
 IF (p IS Point4D) THEN (*4D-processing*)
 ELSIF (p IS Point3D) THEN (*3D-processing*)
 ELSE (*exception conditions*)
 END;
END DoeIets;

Posted: Sat Jan 07, 2006 2:34 pm
by Shinta
merci ;)

Posted: Sat Jan 07, 2006 3:39 pm
by EagleEye812
Moeten we niet kennen. Er zijn twee manieren van OO:
De Oberon-1 manier: Type-test + type-guard = onbelangrijk want wordt niet verder behandeld in verdere cursussen
De oberon-2 manier: Polymorfisme = belangrijk want leunt aan tegen de C++ manier die in 2e bach wordt aangeleerd

Posted: Sat Jan 07, 2006 3:49 pm
by WiDeCr0w
Altijd leuk om te weten he.. :D

Posted: Sat Jan 07, 2006 4:54 pm
by Shinta
EagleEye812 wrote:Moeten we niet kennen. Er zijn twee manieren van OO:
De Oberon-1 manier: Type-test + type-guard = onbelangrijk want wordt niet verder behandeld in verdere cursussen
De oberon-2 manier: Polymorfisme = belangrijk want leunt aan tegen de C++ manier die in 2e bach wordt aangeleerd
tstond in de voorbeeldvrage dus vroeg ik het mor.

Posted: Sat Jan 07, 2006 5:11 pm
by EagleEye812
Jup, ik denk dat hij dat er dit jaar heeft uitgehaald uit de cursus

lucky us! :roll:

Posted: Sat Jan 07, 2006 5:35 pm
by domi
uhuh zeg da wel!
:owned: