Mikä on OOP?
Pyyhkäise näyttääksesi valikon
OOP
Olemme vihdoin aloittaneet oliopohjaisen ohjelmoinnin (OOP) opiskelun. Nykyään lähes jokainen moderni (ja jopa hieman vanhempi) 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. Paradigmoja on useita erilaisia. Tarkastellaan perusparadigmat:
- Proseduraalinen – Tässä ohjelmointiparadigmassa koodi järjestetään proseduureihin eli funktioihin, mikä edistää modulaarisuutta ja uudelleenkäytettävyyttä. Se kannustaa käyttämään funktioita tai metodeja toiminnallisuuden kapselointiin, jolloin koodi on rakenteellisempaa ja helpommin ylläpidettävää. Kielet kuten Python, Pascal ja C tukevat proseduraalista ohjelmointia muiden paradigmojen ohella;
- Funktionaalinen – Funktionaalinen ohjelmointi korostaa laskennan käsittelyä matemaattisten funktioiden arviointina. Se suosii muuttumattomuutta ja puhtaita funktioita, joilla ei ole sivuvaikutuksia. Funktiot ovat ensiluokkaisia olioita, 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. Näiden avulla rakennetaan sovelluksen/verkkosivun/pelin logiikka. Tämän tyyppinen koodi on laajennettavinta ja luettavinta. Joskus tämän paradigman mukaisen koodin kirjoittaminen voi olla haastavampaa kuin funktionaalisen ohjelmoinnin, mutta se maksaa itsensä takaisin, koska tällaisen koodin kanssa työskentely on jatkossa 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 käsittele niitä tarkemmin. On hyvä huomata, että nämä ominaisuudet määritellään luokan sisällä ja niitä käytetään, kun luodaan ilmentymiä 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 vaikuttaa 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 laajennettavimpana?
2. Mikä on pääasiallinen ero proseduraalisen ja funktionaalisen ohjelmointiparadigman välillä?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme