Oliopohjaisissa ohjelmointikielissä on kaksi erilaista olennaista käsitettä, nimittäin objektit ja luokat. Objekti on luokan ilmentymä. Ero on hyvin käsitteellinen, vaikka jotkut ihmiset käyttävät niitä keskenään.
Objektit vs luokat
Ero objektien ja luokkien välillä on, että objektit ovat luokan ilmentymiä, kun taas luokka toimii suunnitelmana, jota voidaan käyttää objektien kaltaisten esiintymien luomiseen. Luokat toimivat eräänlaisena mallina objektille, ja ne voivat myös kuvata objektin käyttäytymistä.
Objekti voidaan määritellä fyysiseksi kokonaisuudeksi, jota käytetään ohjelmointikielen komentojen käytössä. Se on luokan ilmentymä ja voi olla muuttuja, tietorakenne, funktio tai arvo. Se koostuu pääasiassa kahdesta asiasta, tiedosta (tunnetaan myös nimellä tila) ja koodista (tunnetaan myös nimellä käyttäytyminen). Jokainen objekti on vastuussa omien ohjelmointitehtäviensä suorittamisesta.
Toisaalta luokka toimii objektin suunnitelmana. Se on konseptin muoto, jota voidaan käyttää olio-ohjelmointikielissä. Se edustaa kaikkia tietoja ja kaikkia menetelmiä, jotka objektilla pitäisi olla. Se auttaa myös tarjoamaan arvoja jäsenmuuttujille (tila) ja käyttäytymisen toteutuksille eri ohjelmissa.
Objektien ja luokkien vertailutaulukko
Vertailuparametrit | Objektit | Luokat |
Konsepti | Se on yksi luokan esimerkkejä. | Se on suunnitelma, jota voidaan käyttää erilaisten esiintymien luomiseen. |
Muuttujat | Muuttuva | Tyyppi |
Muisti | Varattu muisti. | Ei varattu muistia |
Olemassaolo | Fyysinen olemassaolo | Looginen olemassaolo |
julistus | Voidaan ilmoittaa useita kertoja | Voidaan ilmoittaa vain kerran. |
Manipuloitu | Voidaan manipuloida. | Ei voida manipuloida. |
Avainsanat | Kehitetty C++:lla luokan nimellä ja uusilla Java-avainsanoilla. | Ilmoitettu luokan avainsanoilla. |
Liittynyt arvo | Sisältää arvoja. | Ei arvoja, jotka voidaan yhdistää. |
Mitä ovat esineet?
Objekti on fyysinen kokonaisuus, joka sisältää menetelmiä ja ominaisuuksia, jotka mahdollistavat tietojen käytön. Se auttaa sinua määrittämään luokan käyttäytymisen. Objekti voi olla muuttuja, tietorakenne tai funktio, jolle on varattu muistipaikka. Projekti on järjestetty hierarkkisiin luokkiin.
Objekti on kokoelma ominaisuuksia ja menetelmiä, joita käytetään tietyntyyppisen tietoarvon luomiseen. Polymorfismin ja periytymisen lisäksi objekti on abstraktin tietotyypin laajennus. Ohjelmoinnin avain on, että jokainen objekti on vastuussa tehtävien suorittamisesta itse.
Objektin ominaisuudet ovat mitä se tietää, ja menetelmät ovat mitä se voi tehdä. Menetelmät antavat sovellukselle toimivuutta ja varmistavat, että kohteen dataa käytetään oikein. Menetelmät mahdollistavat myös tehtävien suorittamisen kätkemisen ja standardoimisen erityyppisille objekteille suoritettavien tiettyjen toimintojen osalta. Luokan objekteihin pääsemiseksi käytetään menetelmiä.
Objektit voidaan ilmoittaa useita kertoja ja C++:ssa kehitettyjen luokkanimien ja Javassa saatavilla olevien uusien avainsanojen avulla. Se varaa muistia luomisen jälkeen, mikä tarkoittaa myös, että sitä ei voi manipuloida.
Mitä luokat ovat?
Luokka on looginen kokonaisuus, joka sanelee objektin käyttäytymisen ja sen, mitä se sisältää, ja toimii siten suunnitelmana. Se antaa kaikki alkuarvot jäsenfunktioille tai -menetelmille ja jäsenmuuttujille. Se on aliohjelma, joka tekee objektin; se on laajennettava opas esineiden rakentamiseen. Se kapseloi kaikki tiedot ja menetelmät, jotka objektilla pitäisi olla. Yhdellä luokalla voidaan luoda useita objekteja. Se on TYPE-ilmoitus, jota on jatkettu.
Sen tietotyyppi on pääosin käyttäjän määrittelemä, ja siinä on omat datajäsenet ja jäsentoiminnot. Tätä voidaan käyttää ja käyttää luomalla luokkainstanssi.
Tunnit ovat olennainen osa OOP:ta. Luokkien avulla muuttujat ja menetelmät voidaan eristää tiettyihin objekteihin sen sijaan, että ne olisivat ohjelman kaikkien elementtien käytettävissä. Tämän tietojen kapseloinnin avulla jokainen luokka voidaan suojata muutoksilta ohjelman muilla alueilla. Kehittäjät voivat suunnitella järjestettyjä sovelluksia lähdekoodin avulla, joita voidaan helposti muokata luokkien avulla.
Luokat voidaan ilmoittaa vain kerran ja käyttämällä luokan avainsanaa, kuten luokan opiskelija {}. Se ei myöskään varaa muistia luomisen jälkeen. Koska niitä ei ole muistissa, se tarkoittaa, että niitä ei voi manipuloida.
Tärkeimmät erot objektien ja luokkien välillä
Johtopäätös
Objektit ja luokat ovat olennainen osa olio-ohjelmointikieliä. Ne eroavat käsitteellisesti. Suurin ero on, että luokkaa voidaan pitää rakenteena, joka kapseloi joukon muuttujia ja menetelmiä, ja objekti toimii luokan jäsenenä tai esiintymänä, mikä on tärkeä osa olio-ohjelmointia. Objekti on fyysinen kokonaisuus, kun taas luokka on looginen kokonaisuus. Molempien luomiseen vaadittavat avainsanat eroavat myös eri ohjelmointikielissä. Objektiin liittyy arvo, jota ei ole luokassa.
Viitteet
- https://dl.acm.org/doi/abs/10.1145/1932682.1869489
- https://link.springer.com/chapter/10.1007/BFb0053572