POLYTEEKKARI - POLYTEKAREN
 
 

class Object ~ ein Ding an sich

Oletko kokenut hetken, jona teoria on vastannut todellisuutta? Toimitus etsii kirjoittajia palstalle. Lähetä oivalluksesi osoitteeseen [email protected]

Teksti: Juho Lindholm

Useimmissa olio-ohjelmontikielissä tunnetaan luokan ja instanssin käsitteet samaan tapaan, kuin kartesiolaisessa dualismissa mieli ja ruumis ovat olevaisen kaksi toisistaan riippuvaa muotoa. Olion luokka on olevaisen platoninen idea, jonka määrittämiin kenttiin voi tallettaa dataa samassa mielessä kuin John Locke kirjoitti ominaisuuksien neulatyynystä. Instanssi on taas luokan ilmentymä, hieman samaan tapaan kuin ruumis on mielen ilmentymä ja materia ideoiden ilmentymä. Instanssi on sitä, miten käyttöjärjestelmä kokee olion olemassaolon.

Mutta kumpi on perustellumpi näkökulma olio-ohjelmointiin, platonis-spinozalainen monismi vai aristoteelis-kartesiolainen dualismi? Eivätkö kuitenkin kaikki tietotyypit palaudu viime kädessä bitteihin, jolloin tietotekninen totuus on yksi ja muuttumaton? Vai onko jossain käyttöjärjestelmän lähdekoodin uumenissa jokin class Pravda, jonka kaikki muut luokat perivät ja ovat siten sen johdannaisia? Onko olion luokan määrittely tyhjä ja vailla muotoa, jos yhtäkään sen instanssia ei ole olemassa? C-kielessä ongelma ratkeaa helposti, koska tietorakenteen olemassaoloa ja totuusarvoa mitataan samalla asteikolla, ja voidaan tehdä lause muotoa if (TreeNode->child) { /* koodia */ }.

Immanuel Kantin määritelmän mielessä luokan voi tavallaan ajatella olioksi sinänsä. Kuitenkin tietotekniikka tekee mahdolliseksi sen, että olioista sinänsä on mahdollista saada informaatiota ilman havaintoja: esimerkiksi Javassa on varattu sana ´instanceof´, jolla voidaan kysyä, onko annettu tietorakenne ilmentymä jostain määritellystä luokasta riippumatta siitä, onko luokalla olemassa yhtäkään instanssia. Polymorfisissa tietorakenteissa voidaan myös käyttää factory-tyyppistä yläluokan copy-konstruktoria, jolla voidaan luoda kopio instanssista, jonka aliluokasta ei tiedetä mitään. Tämä tekee Kantin määritelmän käytön ongelmalliseksi. Kysymyksen asettelu on samaa muotoa kuin arvioisi väitteitä "ei ole totuutta" ja "totuus on, mutta emme välttämättä tiedä sitä".

Siirry sivun alkuun

Päivitetty 31.10.2008


tulostusversio
 
 
Polyteekkari —
Suomen paras teekkarilehti
Jämeräntaival 7 A, 02150 Espoo,
puh. (09) 468 3307
[email protected]