Ha ugy gondolod, hogy ertessz az objektum orientalt programozashoz, akkor itt egy remek kihivas. :-)
A kovetkezo egyszeru peldaprogram implementaciojat (pszeudo nyelven definialt) kell elkesziteni az altalatok jol ismert objektum orientalt programozasi nyelveken:
-----------------------------------------------------------
class Top end class
class Middle extends Top end class
class Bottom extends Middle end class
class Up
method cv(Top t) print "Up" end method
method inv(Middle) print "Up" end method
method ctv(Bottom b) print "Up" end method
end class
class Down extends Up
method cv(Middle m) print "Down" end method
method inv(Middle) print "Down" end method
method ctv(Midle m) print "Down" end method
end class
procedure main()
Up u = new Up
Down d = new Down
Up ud = new Down
u.cv(new Top)
u.cv(new Middle)
u.cv(new Bottom)
u.inv(new Top)
u.inv(new Middle)
u.inv(new Bottom)
u.ctv(new Top)
u.ctv(new Middle)
u.ctv(new Bottom)
d.cv(new Top)
d.cv(new Middle)
d.cv(new Bottom)
d.inv(new Top)
d.inv(new Middle)
d.inv(new Bottom)
d.ctv(new Top)
d.ctv(new Middle)
d.ctv(new Bottom)
ud.cv(new Top)
ud.cv(new Middle)
ud.cv(new Bottom)
ud.inv(new Top)
ud.inv(new Middle)
ud.inv(new Bottom)
ud.ctv(new Top)
ud.ctv(new Middle)
ud.ctv(new Bottom)
procedure end
-----------------------------------------------------------
Mielott lefuttatnatok, irjatok fel egy papirra, melyik sorban mit kell kiirnia a programnak (!).
Megj: A fent definialt (kepzeljetek hozza egy UML diagramot is) egyszeru pszeudo programot 14 objektum orientalt nyelven implementaltak. Mit gondoltok, milyen eredmenyek szulettek?