Menu

[r376]: / XOOP.MPL  Maximize  Restore  History

Download this file

44 lines (33 with data), 799 Bytes

// THIS IS THE START OF A OOP EXAMPLE IN MPL

##LIBHDR

ANIMAL.SAYS(O) INVOKE(O,4)
ANIMAL.EATS(O) INVOKE(O,5)
ANIMAL.NAME(O) INVOKE(O,6)

.ANIMAL=.OBJECT,0 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0 ]

.CAT=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0
::INIT(O) [O]
::NAME(O) "CAT"
::SAYS(O) "MEOW"
::EATS(O) "FISH"
]

.DOG=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0
::INIT(O) [O]
::NAME(O) "DOG"
::SAYS(O) "WOOF"
::EATS(O) "BONES"
]

.COW=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0
::INIT(O) [O]
::NAME(O) "COW"
::SAYS(O) "MOOO"
::EATS(O) "GRASS"
]

INFO(O) WRITEF("A %S SAYS %S AND EATS %S*N", ANIMAL.NAME(O), ANIMAL.SAYS(O), ANIMAL.EATS(O))

.(;A,B,C) [
  A=CREATE(.CAT);
  B=CREATE(.DOG);
  C=CREATE(.COW);
  INFO(A);
  INFO(B);
  INFO(C);
0]

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.