ORIGIN '~beta/basiclib/betaenv' --- lib: Attributes --- (* Ez egy pelda a virtualis fuggvenyek alkalmazasara. *) Os : (# print :< (* itt definialjuk a virtualis fuggvenyt *) (# do ' Os print' -> putline; inner; #); kiir : (# do print; #) #); DinamikusGyerek : Os (# print :: (* itt kiterjesztjuk az Os virtualis fuggvenyet *) (# do ' Gyerek print' -> putline; #) #); NemDinamikusGyerek : Os (# print : (* itt pedig feluldefinialjuk a virtualis fuggvenyt *) (# do ' Gyerek print' -> putline; #) #); --- program: Descriptor --- (# nemdingyerekecske: @NemDinamikusGyerek; dingyerekecske: @DinamikusGyerek; osocske: ^Os; do (* ennek azt kell kiirni hogy Gyerek print mert nem hivodik meg az ose a feluldefinialas miatt *) '>>> nem dinamikus gyerekecske:' -> putline; nemdingyerekecske.print; (* ennek azt kell kiirni hogy Os print mert igy nincs dinamikus osszekapcsolas *) '>>> nem dinamikus gyerekecskere mutato osocske:' -> putline; nemdingyerekecske[] -> osocske[]; osocske.print; (* ennek azt kell kiirni hogy Os print Gyerek print az inner miatt *) '>>> dinamikus gyerekecske:' -> putline; dingyerekecske.print; (* ennek azt kell kiirni hogy Os print Gyerek print a dinamikus osszekapcsolas miatt *) '>>> dinamikus gyerekecskere mutato osocske:' -> putline; dingyerekecske[] -> osocske[]; osocske.print; #)