Kurssisisältö
Java OOP
Java OOP
Mikä on OOP?
OOP
Olemme vihdoin aloittaneet oliopohjaisen ohjelmoinnin (OOP) opiskelun. Nykyään lähes jokainen moderni (ja jopa hieman vanhempikin) ohjelmointikieli tukee OOP:ta jossain määrin.
Mutta mitä OOP on?
OOP on ohjelmointiparadigma, jossa työskennellään olioiden kanssa. Käytämme luokkien olioita, luokkien metodeja ja niiden ominaisuuksia sovellusten rakentamiseen.
Ohjelmointiparadigmat
Ohjelmointiparadigma tarkoittaa yksinkertaisesti ohjelmointitapaa. Ohjelmointiparadigmoja on useita erilaisia. Tarkastellaan perusparadigmat:
Proceduraalinen – Tässä ohjelmointiparadigmassa koodi järjestetään proseduureihin tai funktioihin, mikä edistää modulaarisuutta ja uudelleenkäytettävyyttä. Se kannustaa käyttämään funktioita tai metodeja toiminnallisuuden kapselointiin, mikä tekee koodista rakenteellisempaa ja helpommin ylläpidettävää. Kielet kuten Python, Pascal ja C tukevat proseduraalista ohjelmointia muiden paradigmojen ohella;
Funktionaalinen – Funktionaalinen ohjelmointi on paradigma, joka korostaa laskennan käsittelyä matemaattisten funktioiden arviointina. Se kannustaa muuttumattomuuteen ja puhtaiden funktioiden käyttöön, joilla ei ole sivuvaikutuksia. Funktiot ovat ensiluokkaisia kansalaisia, ja koodi järjestetään usein pienempiin, uudelleenkäytettäviin funktioihin. Tämä parantaa luettavuutta, laajennettavuutta ja kirjoittamisen helppoutta. Kielet kuten Haskell, Lisp ja JavaScript tukevat funktionaalista ohjelmointia;
OOP – kuten aiemmin mainittiin, tämä paradigma mahdollistaa olioiden, luokkien metodien ja ominaisuuksien käytön. Niiden avulla rakennetaan sovelluksen/verkkosivun/pelin logiikka. Tämän tyyppinen koodi on laajennettavinta ja luettavinta. Joskus koodin kirjoittaminen tässä paradigmassa voi olla haastavampaa kuin funktionaalisessa ohjelmoinnissa, mutta se maksaa itsensä takaisin, sillä tällaisen koodin kanssa työskentely on tulevaisuudessa huomattavasti helpompaa. Lähes kaikki suositut ohjelmointikielet käyttävät nykyään OOP:ta.
Saatat miettiä, minkälaisilla luokan olioilla oikeastaan operoimme. Tarkastellaan tätä tarkemmin esimerkin avulla:
Ensimmäisessä kuvassa näemme, mitä ovat luokan ominaisuudet, metodit, konstruktorit ja ylikirjoitetut metodit. Olet oppinut nämä aiemmilla kursseilla, joten emme pysähdy niihin tarkemmin. On hyvä huomata, että nämä ominaisuudet määritellään luokan sisällä ja niitä käytetään, kun luodaan olioita muissa luokissa;
Toisessa kuvassa näet, kuinka luokan oliot luodaan konstruktorin avulla, jossa määritellään tämän luokan ominaisuudet. Juuri näillä olioilla operoidaan OOP-paradigmassa. Näillä olioilla on omat ominaisuutensa ja metodinsa, joita voidaan kutsua.
Tämä saattaa näyttää melko yksinkertaiselta, mutta tämä on OOP-ohjelmoinnin ydin. On kuitenkin tärkeää huomioida myös OOP-ohjelmoinnin periaatteet. Käsittelemme seuraavassa luvussa yhtä niistä, "Perintä".
1. Mikä ohjelmointiparadigmaa pidetään kaikkein skaalautuvimpana?
2. Mikä on pääasiallinen ero proseduraalisen ja funktionaalisen ohjelmointiparadigman välillä?
Kiitos palautteestasi!