Articles

Esittelyssä Olio-ohjelmointikielet: opas

Olio-ohjelmointikielet käyttävät olioita, jotka sisältävät sekä dataa että koodia. Oliokeskeisen ohjelmoinnin periaatteita ovat kapselointi, abstraktio, polymorfismi ja periytyminen.

Olio-orientoituneita ohjelmointikieliä (OOP) on kaikkialla, minne katsomme. Monet käytetyimmistä koodauskielistä, jotka muodostavat nykyään tietokonemaailman, ovat oliopainotteisia. Itse asiassa monet tietokoneohjelmat ja suuri osa verkon sisällöstä on rakennettu korkean tason oliopainotteisille kielille. Sen ymmärtäminen, miten oliopainotteiset kielet toimivat ja miksi ne ovat hyödyllisiä, on tärkeää lähes jokaiselle tietojenkäsittelyuralle.

tässä artikkelissa käydään läpi, mitä oliopainotteiset kielet ovat ja käydään läpi niiden hyviä ja huonoja puolia. Me myös katsomaan shortlist joitakin suosituimmista OOP kielet käytössä tänään.

mikä on ohjelmointikieli?

ohjelmointikieli on joukko sääntöjä ja menettelyjä, joiden avulla ohjelmoijat voivat antaa tietokoneille joukon suoritettavia ohjeita. Jokaisella ohjelmointikielellä on oma syntaksinsa, jonka opittuaan voi kertoa tietokoneelle, mitä tehtäviä sen tulisi suorittaa.

form-submission

find your bootcamp Match
  • career Karma matches you with top tech bootcamps
  • get exclusive stipendit ja prep courses

/ div >

ajattele asiaa näin. Englanti on kieli, jonka avulla voit kommunikoida Englanti puhujia. Kun osaat Englannin perussäännöt, voit puhua kenen tahansa kanssa, joka ymmärtää samat säännöt. Mutta tietokoneet eivät ymmärrä englantia tai mitään muuta ”perinteistä” kieltä.

Mitä ovat Oliopohjaiset ohjelmointikielet?

tietokoneet ovat tehokkaita koneita. Tietokoneen avulla voimme laskea numeroita erittäin nopeasti, ja pystymme tuottamaan hämmästyttäviä ohjelmia moniin sovelluksiin. Kuitenkin hyödyntää tätä valtaa, meidän täytyy kommunikoida tietokoneen kanssa on jotain vähemmän tuskallista kuin käsin kirjoittamalla ykkösiä ja nollia.

siksi meillä on ohjelmointikieliä, joita tukee jo kirjoitettu konekoodi. Kuitenkin, mitä kauemmaksi konekoodista päästään, sitä abstraktimpia ja erikoisempia kieliä tulee datan käsittelyssä. Siksi meillä on niin monia kieliä; yksikään kieli ei ole täydellinen, ja niillä kaikilla on erilaisia ja päällekkäisiä sovelluksia.

Ohjelmointiparadigmat

tähän huomautukseen ohjelmointikielet erotetaan usein ohjelmointiparadigmallaan. Ohjelmointiparadigma on yksi tapa tarkastella ja käyttää dataa. Kaksi ensisijaista paradigmaa ovat Oliokeskeisiä ja funktionaalisia, joskin niitä on paljon enemmän (mukaan lukien osa edellä mainitun taustalla olevista periaatteista).

Oliokeskeinen ohjelmointi rakentuu olioiden ympärille, jotka ovat tietorakenteita, jotka sisältävät sekä tietoa (Ominaisuudet tai attribuutit) että koodia (menettelyt tai menetelmät). Objektit pystyvät muokkaamaan itseään ”tämän” tai ” minän avulla.”Useimmissa OOP-kielissä lähes kaikki on objektia, jolla voi olla sekä arvoja että suoritettavaa koodia. Jokainen objekti on ainutlaatuinen, ja vaikka se voi olla kopio toisesta objektista, sen muuttujat voivat olla erilaisia kuin minkä tahansa muun objektin muuttujat.

oliopohjaisen ohjelmistosuunnittelun olioita voidaan ajatella kuin varsinaisia olioita. Ajattele esinettä, kuten kelloa. Kellossa on ominaisuuksia. Se on tehty metallista, se on musta, sillä on tietty paino. Mutta se esine myös tekee asioita. Se näyttää ajan, ja se voi myös vaikuttaa itseensä pyörittämällä vaihteita muuttaakseen käsiensä asentoa.

toinen objektien ominaisuus on se, että aina ei tarvitse tietää, miten kello toimii, jotta se saadaan toimimaan. Olettaen, että kello on hyvin rakennettu, se kertoo luotettavasti ajan, ilman että meidän tarvitsee häiritä sen sisäistä toimintaa.

Oliopainotteisilla kielillä on reaalimaailman olioita muistuttavia olioita. Niillä voi olla ominaisuuksia ja toimintoja. Niillä on myös taipumus noudattaa tiettyjä periaatteita.

Oliopohjaisissa ohjelmointiperiaatteissa

Oliopohjaisissa kielissä on neljä periaatetta. Nämä neljä periaatetta ovat yleisiä ominaisuuksia, jotka määrittelevät ne ja tekevät niistä huomattavasti tehokkaampia. Jotkut kutsuvat niitä olio-ohjelmoinnin neljäksi pilariksi.

oliopainotteisen ohjelmoinnin neljä pilaria ovat:

  1. kapselointi
  2. bstraction

  3. periytyminen
  4. polymorfismi

neljä periaatetta

tutkitaan näitä neljää periaatetta syvällisemmin.

  • kapselointi – kapselointi on käsite tiedon sitomisesta funktioihin, jotka toimivat tietoturvafunktiona pitääkseen tiedon turvassa. Esimerkiksi monet OOP-kielet estävät datan omistavan luokan muita kuin erityisiä menetelmiä päästä käsiksi kyseiseen dataan. Tämä tehdään usein nimenomaan tiettyjen tietojen suojaamiseksi.
  • abstraktio – abstraktio on ajatus siitä, että jos tekee yhtä asiaa liian usein, sen pitäisi olla oma kokonaisuutensa. Esimerkiksi jos ohjelmoija kirjoittaa toistuvasti uudelleen samaa funktiota eri olioille, kyseinen funktio voidaan abstrahoida omaksi kokonaisuudekseen.
  • perintö – periytyminen on sitä, miltä se kuulostaa, ja se määritellään useimmiten ”on” – suhteeksi. Se antaa tiettyjen luokkien olla toisten luokkien alaisuudessa. Nämä luokat voivat periä tietoja ja toimintoja kyseisestä luokasta, samalla kun ne voivat laajentaa kyseistä toimintoa. Sen avulla voimme käyttää uudelleen koodia, jonka olemme jo kirjoittaneet muissa luokissa.
  • polymorfismi – polymorfismi tarkoittaa ” ottaa useamman kuin yhden muodon.”OOP-kielten merkityksessä se viittaa kykyyn käsitellä esineitä eri tavalla riippuen siitä, mitä ne ovat. Sen avulla voimme määritellä erilaisia tapoja käsitellä esineitä niiden johdetun luokan perusteella. Jos meidän pitäisi esimerkiksi löytää jonkin koko, voisimme muuttaa sen mittaustapaa sen perusteella, mitä se on. Jos se on lankku puuta, mittaisin sen tuumissa. Tämä on toisin kuin vesimäärä, jonka mittaisin painon mukaan. Jos hyödynnämme polymorfismia, voimme luoda funktion, joka voi hyväksyä jommankumman objektin ja silti antaa meille järkevän mittauksen.

Suositut Oliopainotteiset ohjelmointikielet

Java, Python, C++, Lisp ja Perl ovat kaikki esimerkkejä suosituista oliopainotteisista ohjelmointikielistä. Ne tukevat ohjelmointia luokkien ja objektien paradigman avulla.

viisi suosituinta oliopainotteista kieltä ovat:

  1. Java
  2. Python

  3. C++
  4. Ruby
  5. C#
  • Java – Java on kaikkialla, ja se on yksi kaikkien aikojen käytetyimmistä ja kysytyimmistä kielistä. Javan motto on ’write once, run anywhere’, ja se näkyy sen käyttämien alustojen määrässä ja paikoissa.
  • Python – Python on yleiskäyttöinen ja käytössä monissa paikoissa. Pythonilla on kuitenkin vahva jalansija koneoppimisessa ja datatieteessä. Se on yksi suosituimmista kielistä tällä uudella ja alati kasvavalla alalla.
  • C++ – C++: ssa on C: n nopeus, jossa on luokkien toiminnallisuus ja oliokeskeinen paradigma. Se on koottu, luotettava ja voimakas kieli. Itse asiassa, sitä käytetään jopa rakentaa kääntäjiä ja tulkkeja muille kielille.
  • Ruby – Ruby on toinen yleiskäyttöinen ohjelmointikieli. Se rakennettiin yksinkertaisuuden vuoksi. Ruby on uskomattoman voimakas kieli. Rubyn luoja Yukihiro ” Matz ”Matsumoto on sanonut:” Ruby on ulkonäöltään hyvin yksinkertainen, mutta sisältä hyvin monimutkainen, aivan kuten ihmisruumiimme.”
  • c# – c# on Microsoftin suunnittelema ohjelmointikieli. Se on suunniteltu parantamaan nykyisiä käsitteitä C. C# valtuudet Microsoft. NET framework rinnalla monet web-sovellukset, pelit, työpöytäsovellukset, ja mobiilisovellukset.

on muitakin oliopainotteisia kieliä, joita emme ole edellä käsitelleet. Perl, Objective-C, Dart, Lisp, JavaScript, ja PHP ovat kaikki objekti-oriented liian tai tukea objekti-oriented periaatteita.

Oliopohjaisten ohjelmointikielten hyvät ja huonot puolet

vaikka OOP-kielet voivat olla voimakkaita, ne eivät ole käyttökelpoisia joka tilanteessa ja niissä on huomioitavaa painolastia.

plussat

uudelleenkäytettävyys

Olio-orientoitunut koodi on rakenteeltaan äärimmäisen modulaarinen. Polymorfismin ja abstraktion ansiosta voidaan tehdä yksi funktio, jota voidaan käyttää yhä uudelleen. Voit myös kopioida tietoja ja toimintoja, jotka on jo kirjoitettu perintö. Tämä säästää aikaa, vähentää monimutkaisuutta, säästää tilaa ja tekee koodaamisesta kevyemmän kuormituksen sormille.

Rinnakkaiskehitys

on tarpeeksi pohjatyötä, jotta ohjelman osat voidaan kehittää toisistaan erillään ja silti toimia oliokeskeisten periaatteiden mukaisesti. Tämä tekee samanaikaisesta kehityksestä paljon helpompaa suuremmille kehitystiimeille.

ylläpito

koska suurin osa, ellei kaikki, koodistamme on yhdessä paikassa, jota kutsutaan ja käytetään uudelleen, kyseinen koodi on paljon helpompi ylläpitää. Sen sijaan, että pitäisi erikseen korjata sata eri tapausta, joissa funktiota kutsutaan, voimme korjata yhden modulaarisen ja polymorfisen funktion.

turvallisuus

vaikka useimmissa kielissä on jonkin verran tietoturvaa, oliopainotteiset kielet ovat käteviä, koska tietoturva on sisäänrakennettu kapselointiin. Muut menetelmät ja luokat eivät voi oletusarvoisesti käyttää yksityisiä tietoja, ja OOP-kielillä kirjoitetut ohjelmat ovat sille turvallisempia.

modulaarisuus

Oliopohjaiset ohjelmointikielet jakavat sovelluksen olioihin ja luokkiin. Tämä on hyödyllistä, koska se antaa sovelluksellesi modulaarisemman rakenteen. Modulaarinen koodi on helpompi lukea. Siksi sitä on helpompi ylläpitää.

Cons

usein sotkuinen

koska oliopainotteiset kielet ovat niin muokattavissa ja skaalautuvia, voi olla helppo menettää ymmärrys koodin toiminnasta. OOP-koodi voi toimia monella tavalla. OOP: ssa on monia ohjelmointimenetelmiä, jotka eivät toimi hyvin muiden menetelmien kanssa, ovat tehottomia tai vaikeita käyttää.

vaatii enemmän suunnittelua

, koska nämä kielet ovat niin modulaarisia ja skaalautuvia, sisään meneminen ilman selkeää suunnittelua etukäteen on katastrofin resepti. Tehokkaan ohjelman luominen vaatii vankan suunnitelman, enemmän kuin muilla ohjelmointiparadigmoilla.

opasiteetti

Tämä on yhtä paljon pro kuin con. objektit ja funktiot voivat toimia itsenäisesti. He voivat ottaa vastaan tietoa ja (yleensä) palauttaa luotettavia tuloksia. Tämän seurauksena ne voivat päätyä mustat laatikot, mikä tarkoittaa, että mitä he tekevät ei ole aina ilmeistä. Vaikka ohjelmoija luultavasti loi kyseisen objektin ja tietää, mitä se tekee, OOP-kielet eivät yksinkertaisesti ole yhtä läpinäkyviä kuin muut kielet.

performanssi

Oliopainotteiset kielet ottavat usein performanssihitin. OOP-kielillä tehdyt ohjelmat ovat usein suurempia ja vaativat enemmän laskennallista vaivaa suorittaakseen kuin funktionaaliset kielet. Tämä ei kuitenkaan ole aina totta tai tärkeää. C++ on OOP-kieli, mutta se on yksi nopeimmista saatavilla olevista kielistä. Nopeus ei ole aina tärkeää. Nopeusero tulee ilmi vain, kun käsitellään valtavia tai monimutkaisia laskelmia tai tapauksissa, joissa vaaditaan äärimmäistä nopeutta.

nyt sinulla on vankka käsitys siitä, mitä oliokeskeinen kieli on, mihin se sopii ja mitkä ovat suosituimpia. Ohjelmointi näillä kielillä voi olla yhtä nautittavaa kuin se on kannattavaa, ja urasi kehityksessä on vain muutaman askeleen päässä.