11.07.2015 Views

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

152. tuplerakenteisia (tuplen alkioiden järjestyksellä onmerkitys) ,3. joukkorakenteisia (joukon alkioiden järjestyksellä ei ole merkitystä).Olioiden esittämisessä käytetään O 2-mallissa yllä esitettyjä konstruktoreita (kutenjoukko <strong>ja</strong> tuple) tietojen rakenteistamiseen. Olio on pari (i, v), missä i onolioidentiteetti, <strong>ja</strong> v on olion arvo. Olio-orientoituneisuuden yhteydessä puhutaanusein literaalista. Literaaliksi kutsutaan arvoa, jolla ei ole minkäänlaistarakennetta, eli se viittaa vain itseensä eli tietyn tyyppiseen arvoon. Literaalilla eiole myöskään olioidentiteettiä. Esimerkiksi arvo 50 on literaali, sillä se ei koostumistään muusta kuin arvosta 50. Literaalin arvo on siis atominen.Tuple-rakennetta havainnollistaa seuraava esimerkki, joka kuvaa Nokiamerkkistärengasta, jonka halkaisi<strong>ja</strong> on 70 <strong>ja</strong> paino 0.5. Renkaan olioidentiteettinäon oid2. Arvojen liittäminen olioidentiteetin kanssa merkitsee siis olionluomista:(oid2, )Seuraava esimerkki on joukkorakenteinen, jossa olion identiteetti liitetään kahdenmuun olion identiteetin kanssa. Siinä olevan joukon voidaan kuvitella esittävänkahta rengasta.(oid3, {oid1,oid2})Yllä oleva esimerkki voisi kuvata rekka-auton rengasparia, jotka liittyvät samaanakseliin. Toisella renkaalla olisi tällöin oid1 <strong>ja</strong> toisella oid2 olioidentiteettinä.Joukkorakennetta kannattaa käyttää tähän tilanteeseen, jos on merkityksetöntäasettaa renkaita järjestykseen. Jos sen si<strong>ja</strong>an olisi tärkeää tietää, kumpirengas on vasemmalla puolella <strong>ja</strong> kumpi oikealla, olisi renkaat pitänyt mallintaatuple-rakenteen avulla.Edellä mainituilla kahdella konstruktorilla, tuplella <strong>ja</strong> joukolla, voidaan esittääkompleksisia objekte<strong>ja</strong>. Tämä johtuu siitä, että konstruktoreita voidaankäyttää sisäkkäisesti <strong>ja</strong> niissä voidaan käyttää arvoina olioidentiteettejä. Esimerkinvuoksi mallinnan seuraavaksi polkupyörän pelkistetysti O 2-mallilla.Polkupyörällä on attribuutteina hinta <strong>ja</strong> merkki. Osina ovat oh<strong>ja</strong>us, runko <strong>ja</strong>takaosa:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!