Tik-76.138 Ohielmistometodiikka, tentti 19.5.1997

Kustakin tehtävästä saa korkeintaan 6 pistettä. [Each question gives at most 6 points.]

l/4. Selitä lyhyesti seuraavat käsitteet. [Explain briefly the following concepts.]
(a) Metaluokka [Metaclass]
(b) Vahvasti tyypitetty ohjelmointikieli [Strongly-typed programming language]
(c) Funktion ylikuormitus C + + :ssa [Function overloading in C ++ ]
(d) Abstrakti kantaluokka C++:ssa [Abstract base class in C++]
(e) Virtuaalinen kantaluokka C++:ssa [Virtual base class in C++]
(f) Avoin (inline) funktio C++:ssa [Inlinefunction in C++]

2/4. Tiedon piilottaminen C + + :ssa. [Data hiding in C+ +. ]

3/4. Funktiokutsujen dynaaminen sitominen oliokielissä ja erityisesti C++:ssa. [Dynamic binding of function calls in object-oriented languages and especially in C+ +]

4/4. Piirrä mielekäs OMT-notaation mukainen luokkakaavio (oliokaavio), jossa käytetään seuraavia käsitteitä. Piirrä siis yksi kaavio ja keksi jokin todellinen (mutta epäilemättä yksinkertaistettu) esimerkki. [Use the OMT notation to draw a sensible object diagram tinat contains the following concepts. Draw a single diagram and invent a real (although probably simplified) example. ]
· Olioluokka. [Object class.]
· Olioluokan attribuutti. [Object class attribute.]
· Perintä. [Inheritance.]
· l:N-yhteys luokkien välillä. [One-to-many association between classes.]
· M:N-yhteys luokkien välillä. [Many-to-many association between classes.]
· Yhteys "luokasta itseensä", ts. yhteys kahden saman luokan instanssin välillä. Tämä yhteys voi olla jompikumpi edellisistä yhteyksistä. Merkitse myös olioiden roolit. [An association 'from a class to itself', i.e., an association between two objects of the same claes. This association can be either of the two previous associations. Also mark the roles of the objects.]
· Yhteyden attribuutti. [Link attribute.]