š Olio-ohjelmointi ā (painos 2025ā2026)
š Olio-ohjelmointi (painos 2025ā2026) on kattava oppikirja, joka on suunniteltu BSCS-, BSSE-, BSIT- ja ohjelmistotekniikan opiskelijoille sekƤ aloitteleville ohjelmoijille, ohjaajille ja itseopiskelijoille, jotka pyrkivƤt hallitsemaan olio-ohjelmoinnin ja -kehityksen periaatteet.
TƤmƤ painos yhdistƤƤ teorian, kƤytƤnnƶn toteutuksen ja modernit ohjelmointimenetelmƤt. Se tarjoaa monivalintakysymyksiƤ, tietokilpailuja ja esimerkkejƤ kƤsitteellisen ymmƤrryksen ja koodaustaitojen vahvistamiseksi. Opiskelijat tutkivat luokkia, periytymistƤ, polymorfismia, malleja ja graafisen kƤyttƶliittymƤn kehitystƤ sekƤ oppivat, miten olio-ohjelmointi muokkaa reaalimaailman ohjelmistojƤrjestelmiƤ C++:n, Javan ja Pythonin avulla.
YhdistƤmƤllƤ akateemisen tarkkuuden projektipohjaiseen oppimiseen tƤmƤ kirja antaa oppijoille valmiudet suunnitella modulaarisia, uudelleenkƤytettƤviƤ ja tehokkaita ohjelmistojƤrjestelmiƤ.
š Yksikƶt ja aiheet
š¹ Yksikkƶ 1: Johdatus olio-ohjelmointiin
-Proseduraalinen vs. olio-ohjelmointi
-OOP:n keskeiset kƤsitteet: luokka, objekti, abstraktio, kapselointi, periytyminen, polymorfismi
-OOP:n historia ja edut
-YleisiƤ OOP-kieliƤ: C++, Java, Python
š¹ Yksikkƶ 2: Luokat, objektit ja kapselointi
-Luokkien mƤƤrittely ja objektien luominen
-DatajƤsenet ja jƤsenfunktiot
-KƤyttƶoikeusmƤƤrittelijƤt: julkinen, yksityinen, suojattu
-Kapselointi ja datan piilottaminen
-Staattiset jƤsenet ja objektin elinkaari
š¹ Yksikkƶ 3: Konstruktorit ja destruktorit
-Oletus- ja parametrisoidut konstruktorit
-Konstruktorin ylikuormitus
-Kopioi konstruktori
-Destruktorit ja objektien siivous
š¹ Yksikkƶ 4: Periytyminen ja polymorfismi
-Periytymistyypit (yksitasoinen, monitasoinen, Hierarkkinen jne.)
-Metodien korvaaminen
-Virtuaalifunktiot ja dynaaminen lƤhetys
-Funktioiden ja operaattoreiden ylikuormitus
-Abstraktit luokat ja rajapinnat
š¹ Yksikkƶ 5: Tiedostojen kƤsittely ja poikkeusten hallinta
-Tiedostovirrat: Lukeminen ja kirjoittaminen (teksti ja binƤƤri)
-Tiedostotilat ja -operaatiot
-Try-Catch-lohkot ja poikkeushierarkia
-Mukautetut poikkeusluokat
š¹ Yksikkƶ 6: Edistyneet kƤsitteet ja olio-orientoitunut suunnittelu
-Kompositio vs. periytyminen
-Aggregointi ja assosiaatio
-Objekti-orientoituneen suunnittelun periaatteet (DRY, SOLID)
-Johdatus UML-kaavioihin (luokka, kƤyttƶtapaus)
-OOP Javassa, C++:ssa ja Pythonissa ā vertaileva nƤkymƤ
š¹ Yksikkƶ 7: Mallit ja yleinen ohjelmointi (C++)
-Funktiomallit
-Luokkamallit
-Mallipohjat (tƤysi ja osittainen)
-Ei-tyyppimallipohja Parametrit
-Variadic-mallit
-Mallit STL:ssƤ (Standard Template Library)
-Parhaat kƤytƤnnƶt ja yleiset virheet
š¹ Yksikkƶ 8: Tapahtumapohjainen ja graafinen ohjelmointi (valinnainen Java/Pythonille)
-Tapahtumasilmukka ja tapahtumien kƤsittely
-Takaisinkutsut ja tapahtumakuuntelijat
-GUI-komponentit: Painikkeet, tekstilaatikot, otsikot
-Signaalit ja paikat (Qt Framework)
-Tapahtumien sidonta ja kƤyttƤjƤn syƶtteen kƤsittely
-Asettelun hallintaohjelmat ja widgetien sijoittelu
-Model-View-Controller (MVC) graafisessa kƤyttƶliittymƤssƤ
-MonisƤikeisyys graafisissa sovelluksissa
-GUI-ohjelmointi Qt:llƤ (C++)
-Parhaat kƤytƤnnƶt responsiivisille graafisille kƤyttƶliittymille
š¹ Yksikkƶ 9: Parhaat kƤytƤnnƶt, tapaustutkimukset ja reaalimaailman sovellukset
-Parhaat kƤytƤnnƶt uudelleenkƤytettƤvƤlle ja yleiselle koodille
-Tapaustutkimus: Mallit STL:ssƤ
-Reaalimaailman sovellus: GUI-pohjainen inventaariojƤrjestelmƤ
-Turvallisuus- ja suorituskykynƤkƶkohdat
š Miksi valita TƤmƤ kirja/sovellus
ā
Kattaa koko olio-ohjelmoinnin opetussuunnitelman kƤsitteellisellƤ ja kƤytƤnnƶnlƤheisellƤ syvyydellƤ
ā
SisƤltƤƤ monivalintakysymyksiƤ, tietokilpailuja ja ohjelmointiharjoituksia harjoitteluun
ā
SelittƤƤ C++:n, Java:n ja Pythonin olio-ohjelmoinnin toteutukset
ā
Keskittyy suunnitteluperiaatteisiin, reaalimaailman sovelluksiin ja graafisen kƤyttƶliittymƤn kehittƤmiseen
ā
TƤydellinen opiskelijoille, ohjaajille ja ammattikehittƤjille
ā TƤmƤ sovellus on saanut inspiraationsa seuraavilta kirjoittajilta:
Bjarne Stroustrup ⢠James Gosling ⢠Grady Booch ⢠Bertrand Meyer ⢠Robert C. Martin
š„ Lataa nyt!
Hallitse modernia ohjelmistosuunnittelua ja -ohjelmointia olio-ohjelmoinnin (2025ā2026-painos) avulla ā tƤydellinen opas modulaarisen ja uudelleenkƤytettƤvƤn koodin rakentamiseen.