Olio-ohjelmointi

Tässä harjoituksessa opiskellaan perintää ja UML-luokkakaavioiden tulkintaa. Materiaalissa asiaan liittyy kappale Periytyminen ja UML luokkakaavio. Kannattaa myös katsoa videot:

Noudata käytäntöä, että kullekin luokalle luodaan oma header-tiedosto ja oma cpp-tiedosto, joilla on sama nimi kuin luokalla. Tämä hoituu automaattisesti, kun luot luokat Qt-Creatorin toiminnolla "Add New -> C++ Class". Tutustu aluksi UML-kaavion symbooleihin kts. https://peatutor.com/cplus/index.php#uml.

Harjoitus3a (perintä)
uml kuva
    Kantaluokka Chef:
  1. Luotuasi projektin, lisää siihen yllä esitetyn UML-kaavion mukainen luokka Chef. Luo luokka Qt:n toiminnolla "Add New ...C++ Class"
  2. Toteuta Chef-luokka niin, että jäsenfunktiot mukaan lukien konstruktori ja destruktori tulostavat debug tietoa ruudulle. Konstruktorille annetaan parametrina kokin nimi.
  3. Luo mainissa Chef-luokasta automaattinen olio (pinomuistiin), anna kokin nimeksi Gordon Ramsay
  4. Kutsu metodeja makeSalad ja makeSoup
  5. Suorita sovellus, jolloin tulos pitäisi näyttää seuraavalta: Ohjelman tulostuksen pitäisi näyttää seuraavalta:
    terminal

  6. Aliluokka ItalianChef:
  7. Lisää luokka ItalianChef, joka perii luokan Chef
  8. Toteuta ItalianChef-luokka niin, että jäsenfunktiot mukaan lukien konstruktori ja destruktori tulostavat debug tietoa ruudulle. Konstruktorille annetaan parametrina kokin nimi. Metodi getName() palauttaa kokin nimen.
    Huomaa, että koska Chef-luokan muodostin ottaa parametrin, sinun on kutsuttava ItalianChef luokan konstruktorissa tuota muodostinta kts. https://peatutor.com/cplus/index.php#inheritance
  9. Luo mainissa ItalianChef-luokasta automaattinen olio (pinomuistiin), anna kokin nimeksi Anthony Bourdain
  10. Kutsu metodeja makeSalad, makeSoup, makePasta ja getName (tulosta sen palauttama nimi cout:lla)
  11. Suorita sovellus, jolloin tulos pitäisi näyttää seuraavalta: Ohjelman tulisi tulostaa edellisen lisäksi seuraavaa:
    terminal



Toggle Menu