Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ohjelmointi ja olio-ohjelmointi

Sivun loppuun

black cat [07.01.2010 16:26:31]

#

mitä eroa on tavallisella ohjelmoinnilla ja olio-ohjelmoinnilla?
(tää kysymys on mietityttänyt mua jo kauan)

RQ [07.01.2010 16:33:52]

#

http://fi.wikipedia.org/wiki/Olio-ohjelmointi

Metabolix [07.01.2010 17:10:56]

#

Kysymykseen ei voi vastata, ennen kuin määrittelet "tavallisen" ohjelmoinnin.

Ohjelmoinnissa on erilaisia tapoja jäsennellä ongelmaa, tässä niistä muutama: Proseduraalisessa ohjelmoinnissa (jota ehkä tarkoitat "tavallisella") ongelma jaetaan yksittäisiksi toiminnoiksi, joista tehdään funktioita tai aliohjelmia. Olio-ohjelmoinnissa hahmotetaan itsenäisiä kokonaisuuksia, jotka sisältävät jotain tietoa ja voivat toimia jollain tavalla. Deklaratiivisessa ohjelmoinnissa taas kirjoitetaan enemmänkin sääntöjä siitä, miten asiat liittyvät toisiinsa.

Jos englanti taittuu, lue toki Wikipediasta Programming paradigm.

black cat [08.01.2010 14:59:30]

#

ei onnistunut englanti

alottelijaa [08.01.2010 15:03:23]

#

jos teet olioilla ja oot miettiny kaiken hyvin koodia voi todennäkösesti käyttää myöhemmin myös jossain toisessa ohjelmassa. Ja on helppo ymmärtää miten ohjelma toimii jos se on jaettu pienempiin kokonaisuuksiin.

black cat [08.01.2010 15:05:58]

#

Jaa

groovyb [08.01.2010 15:35:31]

#

näin pikaisesti lyhyt esimerkki. sanotaan että sinulla on luokka nimeltä Huone.
huone sisältää nyt esim. muuttujan, vaikka merkkijonotaulukon nimeltä Huonekalut.

näin voit luoda useita huone -olioita sisältäen eri huonekaluja.

huone Olohuone = new huone();
huone Keittio = new huone();

Olohuone.Huonekalut[0] = "Sohva";
Olohuone.Huonekalut[1] = "TV-Taso";

Keittio.Huonekalut[0] = "Ruokapöytä";
Keittio.Huonekalut[1] = "tuoli";

jos kyseessä olisi vaikka tekstiseikkailu, voisit tehdä eri huoneet näin, ja asettaa huonekohtaisesti tekstit mitä eri huoneissa tapahtuu, mitä tavaroita löytyy,mitä voi poimia, mitä kiinteisiin esineisiin voi käyttää, mistä teoista saa pisteitä (ja mistä on jo pisteet saatu), mitä ovia on, mistä huoneolioon niistä pääsee jne jne jne.

os [08.01.2010 16:03:20]

#

Karkeasti ottaen olio-ohjelmointi on eräs (monessa yhteydessä hyväksi todettu) lähestymistapa ohjelmointiin ja ohjelmistosuunnitteluun.

RQ:n postaama suomenkielisen Wikipedian artikkeli on mielestäni aika hyvä. Varsinkin tuo johdantokappale sekä "Olio-ohjelmoinnin periaatteita" sisältävät asiaa yleistajuisessa muodossa. Monien muiden kappaleiden jargoni, kuten

http://fi.wikipedia.org/wiki/Olio-ohjelmointi:

Oliota käytetään ohjelmistosuunnittelussa esittämään jonkun abstraktin tai reaalimaailman käsitteen ilmentymää ohjelmistossa.

tuskin aukeaa, jos olio-ohjelmointia ei itse ole harjoittanut.

black cat [08.01.2010 18:34:41]

#

tajusin tosta groovybin esimerkistä

Grez [09.01.2010 10:48:12]

#

Mielestäni tuo groovyb:n esimerkki on kuitenkin jokseenkin huono/vajavainen, koska tuollaisen voisi tehdä täysin ilman oliohjelmointiakin monissa kielissä esim. structilla. (tällöin ehkä "new" jäisi pois)

Yleensä olioissa on erilaisten tietojen säilyttämisen lisäksi jotain toiminnallisuutta (metodeja), eli ne osaavat myös tehdä jotain. Toki olioita voi käyttää myös pelkkinä tietovarastoina, mutta mielestäni pelkkä olioiden nimellinen käyttö ei ole olio-ohjelmointia.

black cat [09.01.2010 10:53:53]

#

joo anteeks tää pilkunviilaus mutta tarkotitko groovyb


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta