Övningsuppgifter, avsnitt 10: Om OOP
Multipel dispatch
- Ge exempel på programspråk med multipel dispatch. (Det är OK att
googla.)
- Ge ett exempel på ett problem som är lämpligt att lösa med multipel
dispatch. (Nåt annat än de jag har gett, förstås.)
- Implementera ett enkelt program som använder multipel dispatch,
enligt den lösning jag skissar på.
Multipelt arv
- Ge ett exempel på ett programspråk med multipelt arv.
- Ge ett exempel på ett problem som är lämpligt att lösa med
multipelt arv.
- Implementera ett enkelt program som använder multipelt arv, enligt
den lösning jag skissar på.
A Simple database
- Kan du tänka dig någon annan situation där "uppenbara" klasser i
problembeskrivningen ej bör implementeras som motsvarande klasser
i programmet?
- Ge en skiss på hur uppgiften ursprungligen var avsedd att
implementeras.
- Describe how you would implement the following:
- code to save to file (and load from file)
- the ability to specify categories and have the database check
that new entries conform to specification.
- more efficient search
- a GUI
- (Avancerat) En objektorienterad implementation av
kommandotolken. I mina exempel implementeras kommandotolken med en
enkel fallanalys. Hur skulle en lösning med polymorfi se ut?