...
Ved kjøring skjer omtrent det samme som tidligere, bortsett fra at vi nå har to modul-ark, rpncalc4core og rpncalc4ui. Slik ser det omtrent når main-funksjonen i rpncalc4ui har kalt plus i rpncalc4, som igjen har kalt popOperands:
PlantUML Macro |
---|
objectobject rpncalc4core { operands = [] isOperands() printOperands() popOperands() pushOperand() plus() } object rpncalc4ui { main() } object "1: main" as main1 { token = "+" operand = ... } object "1: plus" as plus1 { } object "1: popOperands" as popOperands1 { n = 2 } rpncalc4ui <-- main1 rpncalc4core <-- plus1 rpncalc4core <-- popOperands1 |
For å referere til navn (variabler og funksjoner) i en annen og importert modul, så brukes altså modul-navnet og punktum som prefiks, f.eks. rpncalc4core.isOperand i if-betingelsen. Dette er i grunnen samme notasjon som brukes når en kaller operands-lista sin pop-metode. En kan tenke på lista som et eget ark med funksjoner inni, men da er en inne på objektorientering...
Importerbar kode
|
|
...