SITE SEARCH

OOP on mitä? Perusteellisen ohjelmoinnin perusperiaatteet

Miksi Object-Oriented Programmingon etusija useimmissa projekteissa? OOP tarjoaa tehokkaan tavan käsitellä niiden monimutkaisuutta. Sen sijaan, että ohjelmaa pidettäisiin suoritettavien ohjeiden sekvenssinä, se edustaa sitä ryhmänä esineitä, joilla on tiettyjä ominaisuuksia ja suorittaa tiettyjä toimintoja niiden kanssa. Tämä johtaa luomaan selkeämpiä, luotettavampia ja helppokäyttöisempia sovelluksia.

Perusperiaatteet esineitäohjelmointi (OOP) muodostui, koska aikaisemmissa lähestymistavoissa havaittiin rajoituksia. Niistä - rajoittamaton tiedonsaanti ja lukuisia linkkejä, jotka asettavat rajoituksia muutosten käyttöönottoon. Heidän tietoisuus ja syyt ovat tärkeitä, jotta ymmärrettäisiin, mitä OOP on ohjelmassa ja mitkä ovat sen edut.

Menettelykielet

C, Pascal, FORTRAN ja vastaavat kielet ovatmenettelyyn. Eli jokainen niiden operaattori määrää tietokoneen tekemään jotain: saada tiedot, laskea numerot, jakaa kuusi, näyttää tuloksen. Menettelykielen sovellus on luettelo ohjeista. Jos se on pieni, mikään muu organisaation periaate (jota usein kutsutaan paradigmaksi) ei ole tarpeen. Ohjelmoija luo luettelon ohjeista ja tietokone suorittaa niitä.

Erottaminen tehtäviin

Kun hakemukset tulevat suuremmiksi, luetteloon hankalaa. Harvat voivat ymmärtää enemmän kuin muutama sata ohjetta, kunnes ne ryhmitellään yhteen. Tästä syystä toiminto on tullut keino lisätä sovellusten ymmärrettävyyttä niiden tekijöille. Joillakin kielillä samaa käsitystä voidaan kutsua aliohjelmaksi tai menettelytavaksi.

Sovellus on jaettu toimintoihin, joista kullakin on selkeästi määritelty tarkoitus ja rajapinta.

Ajatus erottaminen menettelyjä voidaan laajentaa suurempaan ryhmittely esine kutsutaan moduulin, mutta periaate on analoginen: ryhmittely, jotka kanta- luettelot asiakirjan.

Erottaminen toimintoihin ja moduuleihin on yksi rakenteellisen ohjelmoinnin kulmakivistä, joka useiden vuosikymmenien ajan ennen OOP: n ilmenemistä oli ennalta ehkäisevä paradigma.

oop tämä

Strukturoidun ohjelmoinnin ongelmat

Koska sovellukset kasvoivat yhä enemmänSuuri, rakenteellinen ohjelmointi alkoi olla vaikeuksia. Projektit muuttuivat liian monimutkaisiksi. Kaaviot siirrettiin. Suurempi määrä ohjelmoijia oli mukana. Monimutkaisuus kasvoi. Kulut nousivat voimakkaasti, kaavio eteni edelleen, ja romahdus tuli.

Näiden epäonnistumisten syiden analyysi paljasti puutteitamenettelyllinen paradigma. Riippumatta siitä, kuinka hyvin ohjelmointiin sovelletaan jäsenneltyä lähestymistapaa, suuret sovellukset muuttuvat liian monimutkaisiksi.

Mitkä ovat näiden ongelmien syytprosessikielet? Ensinnäkin toiminnoilla on rajoittamaton pääsy globaaleihin tietoihin. Toiseksi, etuyhteydettömät menettelyt ja merkitykset eivät mallia reaalimaailmaa.

Jos tarkastelemme näitä ongelmiavaraston kirjanpito-ohjelma, yksi tärkeimmistä globaaleista tietoelementeistä on kirjanpitoyksiköiden kokonaismäärä. Eri toimintoja voi käyttää heitä syöttämään uuden arvon, näyttämään sen, muuttamaan sitä ja niin edelleen.

Rajoittamaton pääsy

Esimerkiksi C: ssä kirjoitetussa ohjelmassa on kahdenlaisia ​​tietoja. Paikalliset ovat piilossa toiminnon sisällä eikä muita toimenpiteitä käytetä.

Kun käytössä on kaksi tai useampia toimintojasamoihin tietoihin, jälkimmäisen on oltava maailmanlaajuinen. Nämä ovat esimerkiksi tietoja huomioitavista kohteista. Globaaleihin tietoihin pääsee millä tahansa menettelyllä.

Suuressa ohjelmassa on monia toimintoja ja monia globaaleja elementtejä. Menettelyllisen paradigman ongelma on se, että tämä johtaa entistä suurempaan määrään niiden välisiä mahdollisia yhteyksiä.

Tällainen suuri määrä yhdisteitä aiheuttaamuutamia vaikeuksia. Ensinnäkin tämä vaikeuttaa ohjelman rakenteen ymmärtämistä. Toiseksi on vaikeaa tehdä muutoksia. Globaalin datakohdan muutos saattaa edellyttää kaikkia toimintoja, joihin sillä on pääsy.

Esimerkiksi kirjanpito-ohjelmassa joku päättää koodinkirjanpidollinen aihe ei saa olla 5 numeroa, vaan 12. Tämä edellyttää datatyypin vaihtamista lyhyenä pitkäksi. Nyt koodiin liittyviä toimintoja on muutettava toimimaan uuden muodon kanssa.

Kun elementit muuttuvat suuressa sovelluksessa,On vaikea sanoa, mitä menettelyjä niillä on. Mutta vaikka sitä selkeytetään, muuttaminen voi johtaa virheelliseen työskentelyyn muiden globaalien tietojen kanssa. Kaikki on yhteydessä kaikkiin muihin, joten muutos yhdessä paikassa on toisessa.

mikä on oop in ohjelmointi

Todellisessa mallinnuksessa

Toinen ja tärkeämpi menettelyllisten ongelmien ongelmaParadigma on, että sen sijainti yksittäisten tietojen ja toimintojen huonosti mallien asioita todellisessa maailmassa. Täällä käsitellään sellaisia ​​esineitä kuin ihmisiä ja autoja. Ne eivät näytä tietoja tai toimintoja. Monimutkaisilla todellisilla objekteilla on ominaisuuksia ja käyttäytymistä.

määritteet

Esimerkkejä ominaisuuksista (joskus kutsutaanominaisuudet) ihmiset ovat silmien väri ja työnimike, autot - voima ja ovien lukumäärä. Kuten kävi ilmi, attribuutit todellisessa maailmassa vastaavat ohjelman tietoja. Niillä on erityisiä merkityksiä, kuten sininen (silmien väri) tai neljä (ovien lukumäärä).

käytös

Käyttäytyminen on, että reaalimaailman kohteettuottavat vastauksena johonkin vaikutukseen. Jos pyydät viranomaisia ​​nostamaan palkkansa, vastaus on "kyllä" tai "ei". Jos painat jarrua, auto pysähtyy. Ääntäminen ja lopettaminen ovat esimerkkejä käyttäytymisestä. Käyttäytyminen on kuin menettely: se on kutsuttu tekemään jotain, ja se tekee sen. Siten tiedot ja toiminnot eivät sinänsä mallinneet reaalimaailman objekteja tehokkaasti.

Osoitteet

Objekti OOP: ssä esitetään kokoelmanatietoja ja toimintoja. Vain menettelyt, joita kutsutaan jäsentoiminnoiksi C ++: llä, mahdollistavat sen arvojen saannin. Tiedot piilotetaan ja suojataan muutoksilta. Arvot ja toiminnot kapseloidaan yhteen yksikköön. Kotelointi ja piilottaminen ovat OO-kielen kuvauksen tärkeimmät termit.

Jos haluat muuttaa tietoja, tiedät tarkkaan, mitkä toiminnot toimivat vuorovaikutuksessa niiden kanssa. Muita menetelmiä ei voi käyttää. Tämä yksinkertaistaa ohjelman kirjoittamista, virheenkorjausta ja ylläpitoa.

Sovellus koostuu pääsääntöisesti useista esineistä, jotka ovat vuorovaikutuksessa toistensa kanssa, kutsumalla jäsentoimintoja.

Nykyään OOP: n yleisimmin käytetty kieli(objektiivinen ohjelmointi) - C ++ (plus-plus). Java puuttuu joitain toimintoja, kuten viitteitä, malleja ja useampia perintöjä, mikä tekee siitä vähemmän tehokasta ja monipuolista kuin C ++. C # ei ole vielä saavuttanut C ++: n suosiota.

On huomattava, että nsjäsentoimintoja C ++: ssä kutsutaan menetelmiksi joillakin muilla OO-kielillä, kuten Smalltalkilla. Tiedot elementtejä kutsutaan attribuutteiksi. Objektimenetelmän kutsuminen lähettää viestin sille.

Object-suuntautuva ohjelmointi plus

analogia

Voit lähettää esineitä yrityksen yksiköihin. Useimmissa organisaatioissa työntekijät eivät toimi eräänä päivänä jäljettömiin, seuraavaksi palkkalistoilla ja sitten viikolla vähittäiskaupassa. Jokaisella osastolla on oma henkilöstö, jolla on selkeä vastuu. Myös omia tietoja ovat: palkat, myyntiluvut, työntekijärekisteri jne. Osastojen henkilöt työskentelevät tietonsa mukaan. Yrityksen erottaminen helpottaa siten sen toiminnan valvontaa ja säilyttää tietojen eheyden. Kirjanpito vastaa palkasta. Jos haluat tietää heinäkuussa eteläisen haaran palkkojen kokonaismäärän, sinun ei tarvitse hakea arkistoon. Riittää, että lähetät huomautuksen vastuulliselle henkilölle, odota, että tämä henkilö pääsee käsiksi tietoihin ja lähettää vastauksen tarvittaviin tietoihin. Näin varmistetaan säännösten noudattaminen ja ulkopuolisten häiriöiden puuttuminen. Samoin OOP: n kohde antaa sovelluksen organisaation.

On muistettava, että orientaatio esineisiin ei olekoskee ohjelman yksityiskohtia. Useimmat C + + -lausunnot vastaavat C-menettelytaajuutta käyttäviä kielioperaattoreita. Itse asiassa C: n jäsentoiminnot ovat hyvin samankaltaisia ​​kuin toiminnot C: ssä. Vain laajempi konteksti mahdollistaa sen, onko käsky prosessuaalinen vai olio-orientointi.

objekti oop se

OOP-objekti: määritelmä

Kun tarkastellaan ohjelmointiohjelmaaOO-kieli, sen sijaan, että kysymys siitä, miten se jakautuu erillisiin toimintoihin, syntyy esineiden erottamiseen liittyvä ongelma. OOP-ajattelu helpottaa sovellusten kehittämistä. Tämä johtuu ohjelmistojen ja todellisten kohteiden samankaltaisuudesta.

Mitä asioita OOP: ksi tulee esineiksi? Alla on tyypillisiä kategorioita.

OOP: n fyysinen objekti on:

  • kuljetukset virtausmalleissa;
  • Piirisuunnitteluohjelmien sähköiset elementit;
  • talouden mallin maissa;
  • lennonjohtojärjestelmään.

Käyttäjän tietokoneympäristön elementit:

  • valikosta;
  • ikkunat;
  • grafiikka (rivi, suorakulmio, ympyrä);
  • näppäimistö, hiiri, tulostin, levyasemat.

ihmiset:

  • työntekijöitä;
  • opiskelijoille;
  • asiakkaita;
  • myyjiä.

tiedot:

  • kirjanpito;
  • yksityinen asia;
  • sanakirjassa;
  • taulukoita leveysasteista ja pituusasteista.

Todellisten esineiden ja OOP: n välinen yhteys oli seurausta toimintojen ja tietojen yhdistelmästä: ne mullistivat ohjelmoinnin. Menettelykielillä ei ole tällaista läheistä kirjeenvaihtoa.

objekti oop määritelmässä

luokka

OOP-objektit ovat luokkien jäseniä. Mitä tämä tarkoittaa? Ohjelmointikielillä on sisäänrakennetut tietotyypit. Int tyyppi, eli kokonaisluku, on ennalta määritetty C ++: ssä. Voit ilmoittaa minkä tahansa lukumäärän int-muuttujia.

Samalla tavoin määritellään sama luokan luokka. Se määrittelee objektissa olevat toiminnot ja tiedot luomatta niitä, aivan kuten int ei luo muuttujia.

OOP: n luokka on kuvaus useista samankaltaisista kohteista. Prinssi, Sting ja Madonna ovat laulajia. Ei ole yhtä henkilöä, jolla on kyseinen nimi, mutta ihmisiä voidaan soittaa, jos niillä on vastaavat ominaisuudet. OOP-objekti on luokan ilmentymä.

perintö

Elämässä luokat jaetaan alaluokkiin. Esimerkiksi eläimet jaetaan sammakkoeläimiin, nisäkkäisiin, lintuihin, hyönteisiin jne.

Tällaisen jakautumisen periaate on sekullakin alaluokalla on yhteisiä ominaisuuksia sen luokan kanssa, josta se esiintyy. Kaikissa autoissa on pyörät ja moottori. Nämä ovat ajoneuvojen ominaispiirteitä. Yleisten ominaisuuksien lisäksi kaikilla alaluokilla on omat ominaisuutensa. Bussilla on useita istuimia, ja kuorma-autoilla on tilaa raskaiden kuormien kuljettamiseen.

Samoin perusluokka voi olla vanhempiuseita johdettuja alaluokkia, jotka voidaan määritellä siten, että ne jakavat omat ominaisuutensa omalla lisäyksellään. Perintö on samanlainen kuin toiminto, joka yksinkertaistaa prosessiohjelmaa. Jos useat koodin osat ovat lähes samanlaisia, voit erottaa yhteiset elementit ja laittaa ne yhteen proseduuriin. Kolme sovellusosaa voi kutsua toiminnon yhteisten toimintojen suorittamiseksi, mutta ne voivat myös tuottaa omia toimintojaan. Samoin perusluokka sisältää johdetun ryhmän yhteisiä tietoja. Kuten toiminnot, perintö vähentää OO-ohjelmaa ja selkeyttää sen elementtien yhteenliittämistä.

objekti oopissa

kierrätys

Kun luokka luodaan ja debugoitu, se voisiirretään muille ohjelmoijille uudelleenkäyttöä varten omissa sovelluksissaan. Tämä on samanlainen toimintojen kirjastoon, joka voidaan sisällyttää eri sovelluksiin.

OOP: ssa perintö on idean laajentaminenmonikäyttö. Nykyisestä luokasta, muuttamatta sitä, voit luoda uuden, lisäämällä muita toimintoja. OOP: n tärkeä etu on olemassa olevien ohjelmistojen uudelleenkäytön helppous. Uskotaan, että tämä tuottaa nousua alkuinvestoinnista.

Uusien tietotyyppien luominen

Objektit ovat käteviä uudenlaisten tietojen luomiseen. Oletetaan, että ohjelma käyttää kaksiulotteisia arvoja (esimerkiksi koordinaatteja tai leveys- ja pituuspiirejä) ja haluaa ilmaista toimintansa aritmeettisten toimintojen kanssa:

position1 = sijainti + alkuperä,

missä asema1, sijainti ja alkuperät ovat riippumattomien numeeristen arvojen paria. Luo luokan, joka sisältää nämä kaksi arvoa ja ilmoittaa muuttujat sen objekteilla, luo uuden tietotyypin.

objektipohjaisen ohjelmoinnin perusperiaatteet

Polymorfismi, ylikuormitus

Operaattorit = (yhtäläinen) ja + (plus)sijainnin aritmeettinen yllä, eivät toimi samoin kuin sisäänrakennetuilla tyypeillä, kuten int. Esineiden sijainti jne. Ei ole ennalta määritetty, mutta ne on ohjelmoitu. Miten nämä operaattorit osaavat käsitellä niitä? Vastaus on, että heille voidaan määritellä uusia käyttäytymismalleja. Nämä toiminnot ovat Position-luokan jäsentoimintoja.

Operaattoreiden tai menettelyjen käyttö vuonna 2003riippuen siitä, mitä he työskentelevät, kutsutaan polymorfisiksi. Kun olemassa oleva operaattori, kuten + tai =, pystyy toimimaan uuden datatyypin kanssa, sanotaan olevan ylikuormitettu. OOP: n ylikuormitus on eräänlainen polymorfismi. Se on sen tärkeä piirre.

Kirja OOP: n "Object-Oriented Programming for Dummies" -ohjelmasta antaa kaikille mahdollisuuden tutustua tähän aiheeseen tarkemmin.

</ p>
  • arviointi: