Articles

object-oriented programming (oop)

Object-oriented programming (oop) on tietokoneen ohjelmointimalli, joka organisoi ohjelmistosuunnittelun datan eli objektien ympärille funktioiden ja logiikan sijaan. Objekti voidaan määritellä tietokentäksi, jolla on ainutlaatuisia ominaisuuksia ja käyttäytymistä.

OOP keskittyy ennemmin olioihin, joita kehittäjät haluavat manipuloida, kuin niiden manipulointiin tarvittavaan logiikkaan. Tämä lähestymistapa ohjelmointiin sopii hyvin ohjelmille, jotka ovat suuria, monimutkaisia ja aktiivisesti päivitettyjä tai ylläpidettyjä.

oliokeskeisen ohjelman järjestäminen tekee menetelmästä hyödyllisen myös yhteistyökehitykselle, jossa projektit jaetaan ryhmiin.

OOP: n lisäetuja ovat koodin uudelleenkäytettävyys, skaalautuvuus ja tehokkuus. Myös mikropalveluja käytettäessä kehittäjien tulisi jatkaa OOP: n periaatteiden soveltamista.

OOP: n ensimmäinen askel on kerätä kaikki objektit, joita ohjelmoija haluaa manipuloida ja tunnistaa, miten ne liittyvät toisiinsa-harjoitus tunnetaan usein nimellä data modeling.

esimerkit kohteesta voivat vaihdella fyysisistä kokonaisuuksista, kuten ihmisestä, jota kuvataan ominaisuuksilla kuten nimellä ja osoitteella, aina pieniin tietokoneohjelmiin, kuten widgetteihin.

kuvaus olio-ohjelmoinnista
esimerkki olio-ohjelmoinnin konventioista.

kun objekti on tunnettu, sille merkitään objektiluokka, joka määrittelee sen sisältämän tiedon ja sitä mahdollisesti manipuloivat logiikkasekvenssit. Jokainen erillinen logiikkasekvenssi tunnetaan menetelmänä. Objektit voivat kommunikoida tarkoin määriteltyjen rajapintojen kanssa, joita kutsutaan viesteiksi.

OOP: n periaatteet

Olio-ohjelmointi perustuu seuraaviin periaatteisiin:

  • kapselointi. Kunkin objektin toteutus ja tila ovat yksityisessä hallussa määritellyn rajan eli luokan sisällä. Muilla kohteilla ei ole pääsyä tähän luokkaan tai valtuuksia tehdä muutoksia, vaan ne voivat vain kutsua listaa julkisista toiminnoista tai menetelmistä. Tämä ominaisuus tietojen piilottaminen lisää ohjelman turvallisuutta ja välttää tahatonta tietojen korruptiota.
  • abstraktio. Objektit paljastavat vain muiden objektien käytön kannalta oleellisia sisäisiä mekanismeja, jotka piilottavat turhat toteutuskoodit. Tämä konsepti auttaa kehittäjiä helpommin tekemään muutoksia ja lisäyksiä ajan myötä.
  • perintö. Objektien välisiä suhteita ja alaluokkia voidaan määrittää, jolloin kehittäjät voivat käyttää yhteistä logiikkaa uudelleen säilyttäen kuitenkin ainutlaatuisen hierarkian. Tämä OOP: n ominaisuus pakottaa perusteellisempaan tietojen analysointiin, vähentää kehitysaikaa ja takaa korkeamman tarkkuuden.
  • polymorfismi. Esineet voivat saada useamman kuin yhden muodon asiayhteydestä riippuen. Ohjelma määrittää, mikä merkitys tai käyttö on tarpeen kunkin suorituksen kyseisen objektin, vähentää tarvetta kopioida koodia.

Oliopainotteiset ohjelmointikielet

vaikka Simulaa pidetään ensimmäisenä oliopainotteisena ohjelmointikielenä, Suosituimmat OOP-kielet ovat:

  • Java
  • JavaScript
  • Python

  • C++
  • Visual Basic.Net
  • Ruby
  • Scala
  • PHP

oopsla on vuosittain järjestettävä Oliopainotteisten Ohjelmointijärjestelmien, kielten ja sovellusten konferenssi.

kritiikki OOP: ta kohtaan

oliokeskeinen ohjelmointimalli on saanut kehittäjiltä kritiikkiä monesta syystä. Suurin huoli on, että OOP ylikorostaa ohjelmistokehityksen datakomponenttia eikä keskity tarpeeksi laskentaan tai algoritmeihin. Lisäksi OOP-koodin kirjoittaminen voi olla monimutkaisempaa ja kääntäminen kestää kauemmin.

vaihtoehtoisia menetelmiä OOP: lle ovat:

  • funktionaalinen ohjelmointi
  • strukturoitu ohjelmointi
  • imperatiivinen ohjelmointi

useimmat edistyneet ohjelmointikielet antavat kehittäjille mahdollisuuden yhdistää nämä mallit.