ArvutidProgrammeerimine

PLO - mis see on? Aluspõhimõtted objektorienteeritud programmeerimine

Miks objektorienteeritud programmeerimine eelistatakse kõige projekte? PLO pakub tõhus viis käsitleda nende keerukust. Selle asemel, et arvestades programmi jadana täitmisjuhiseid, see tähendab seda objektide rühmale teatud omadused ja toota neid teatud toiminguid. Selle tulemuseks on selgem, usaldusväärne ja legkosoprovozhdaemyh rakendusi.

Aluspõhimõtted objektorienteeritud programmeerimine (OOP) moodustatud sest piirangud on leitud olemasolevaid lähenemisviise. Nende hulgas - piiramatu juurdepääsu andmetele ja suur hulk linke, mis seavad piiranguid muutusi. Nende teadlikkuse ja põhjuste oluline mõista, mis OOP programmeerimise ja millised on selle eelised.

keeltel

C, Pascal, FORTRAN, jms keeled on menetluslikku laadi. See tähendab, et iga ettevõtja annab arvutile midagi: saada andmeid, liita kokku arve, mis on jagatud kuueks, tulemus kuvatakse. Lisa menetlemise keeles on juhendamise nimekirja. Kui see on väike, ei ole muud korralduspõhimõte (sageli nimetatakse paradigma) ei ole vajalik. Programmeerija loob nimekirja juhiseid ja arvuti täidab neid.

Ülesannete lahusus

Kui taotlused muutuda tülikaks nimekirja pöördeid. Vähesed saavad aru enam kui paarsada juhiseid, kuni nad on rühmitatud. Sel põhjusel funktsioon oli võimalus teha taotluse arusaadavamaks selle loojate. Mõnes keeles, sama mõiste võib nimetada alamprogrammid või menetlusi.

Rakendus on jagatud funktsioone, millest igaüks on selgelt määratletud eesmärk ja liides.

Lahusolekut kord saab laiendada suuremasse rühmituse objekti nimetatakse moodul, kuid põhimõte on analoogne: rühmitamise komponendid, mis kannavad nimekirjad dokumendiga.

Ülesannete lahusus ja moodulid - üks nurgakivisid struktureeritud programmeerimise, mis juba mitu aastat, enne kui PLO oli see tekitab paradigma.

struktureeritud programmeerimise probleeme

Nagu rakendused muutuvad suuremaks, struktureeritud programmeerimise hakanud raskusi. Projektid liiga keeruline. nihkunud graafika. See hõlmab suure hulga programmeerijad. Keerukus on kasvanud. Kulud shooting up, ajakava nihkus edasi, ja siis tuli kokkuvarisemist.

Analüüs avarii põhjuste ilmnesid puudused menetluslikke paradigma. Sõltumata sellest, kui hästi struktureeritud rakendatud kavandamispõhimõtetele, suur rakendused muutuvad liiga keeruline.

Millised on nende probleemide põhjuseid seotud keeltel? Esiteks funktsioonid on piiramatu juurdepääs ülemaailmse andmeid. Teiseks mitteseotud menetlused ja halb väärtused simuleerida reaalses maailmas.

Kui me neid teemasid kontekstis Inventari raamatupidamistarkvara, üks tähtsamaid elemente globaalsete andmete on kogum Laoühikud. Erinevad funktsioonid võivad viidata neile sisestage uus väärtus, kuvatakse see, muutused ja nii. D.

piiramatu juurdepääs

Programm kirjutatud näiteks C, on kahte tüüpi andmeid. Kohalik peidetud funktsioon ja muid protseduure ei kasutata.

Kui kaks või enam ülesannet on juurdepääs samadele andmetele, peab olema ülemaailmne. Sellised on näiteks võetakse arvesse teavet teemadel. Ülemaailmne andmed võivad olla mis tahes saadaval korras.

Suures programmi on palju funktsioone ja paljud globaalse elemente. Probleem menetluslikke paradigma on see, et see toob kaasa suurema arvu võimalikke seoseid nende vahel.

Selline suur hulk ühendusi põhjustab mitmeid probleeme. Esiteks raskendab arusaamist struktuuri programmi. Teiseks on raske muuta. Muutus ülemaailmse andmeühiku nõuda korrigeerimist kõik funktsioonid, mis on sellele juurdepääs.

Näiteks programmi moodustades keegi otsustab, et arvestatakse objekti kood peaks koosnema mitte 5 numbrit, ja 12. See nõuab muutusi andmete tüüp lühikesest pikk. Nüüd seotud funktsiooni kood tuleb muuta, et töötada uus formaat.

Kui elemendid on muutunud suurema taotluse, siis on raske öelda, mida kord on neile juurdepääs. Aga isegi kui see arv, nende muutmine võib põhjustada vale kasutamise teiste ülemaailmsete andmeid. Kõik on seotud kõik muu, nii muutus ühes kohas tagasilöök teise.

Modelleerimine reaalses maailmas

Teine ja olulisem probleem menetluslikke paradigma on see, et tema asukoha andmete ja funktsioonide halvasti simuleerib asjad reaalses maailmas. Siin on tegemist objektide nagu inimesi või autosid. Nad on nagu andmed puuduvad või funktsiooni. Complex reaalmaailma objekte on atribuudid ja käitumist.

atribuute

Näited atribuudid (mõnikord nimetatakse omadused) inimestele on silma värvi ja nime postituse autot - võimu ja uste arv. Nagu selgus, atribuutide reaalses maailmas võrdne andmed programmis. Nad on konkreetsed väärtused, nagu sinine (silmade värv) või nelja (uste arv).

käitumine

Käitumine - on see, et reaalse maailma objektid on toodetud vastuseks mingi mõju. Kui te küsite boss palgatõusu, vastus on "jah" või "ei". Kui vajutad piduri, auto peatub. Ja lõpetades lausungi käitumist on näited. Käitumine sarnane protseduur: seda nimetatakse midagi, ja ta teeb seda. Seega andmeid ja funktsioone ise ei mõõdeta reaalmaailma objekte tõhusalt.

tegelemine

Objekti OOP on esindatud kogum andmeid ja funktsioone. Ainult korra, mida nimetatakse liikme funktsioone C ++, võimaldab saada selle väärtust. Need on peidetud ja kaitstud muutusi. Tähendused ja funktsioonid on kapseldatud ühte. Encapsulation ja upryatyvanie - põhitingimused kirjelduses objektorienteeritud keeles.

Kui soovite andmeid muuta, ta teab täpselt, mida funktsioone suhelda nendega. Ükski teine kord ei pääse neist. See lihtsustab kirjalikult, silumine ja säilitada programmi.

Taotluse tavaliselt koosneb mitmest objektid, mis suhtlevad omavahel, põhjustades liige funktsioone.

Täna, levinuim keel OOP (objektorienteeritud programmeerimine) - C ++ (pluss pluss). Java puuduvad mõned funktsioonid, nagu viiteid, malle ja mitmeid pärandist, mis muudab vähem võimas ja mitmekülgne kui C ++. C # ei ole veel jõudnud populaarsus C ++.

Tuleb märkida, et nn liige funktsioone C ++ nimetatakse meetodeid muul objektorienteeritud keelte nagu Smalltalk. Andmed punkte nimetatakse atribuute. Üleskutse meetodit objekti saadab teda sõnumeid.

analoogia

Võite ette kujutada objekte ettevõtte osakonnad. Enamikul organisatsioonide töötajad ei tööta üks päev personali järgmised liiga kõrgete palk, ja nädal jaekaubandusega tegelevad. Iga osakond on oma personali, kus on selgelt määratud ülesandeid. On enda andmed: näitajad töötasu, müük, raamatupidamine personal jne Inimesed osakonnad töötavad oma teavet ... Jaotus ettevõtte, seega hõlbustab kontrolli oma tegevuse ja säilitab andmete terviklikkuse. Raamatupidamine vastutab palgal. Kui soovite teada palkade kogusumma makstakse lõunapoolset haru juulis ei pea kaevuma arhiiv. Piisab talle märkus vastutav isik, oodake, kuni tal on juurdepääs andmetele ja saadab vastuseks nõutud teabe. See tagab määruste järgimise ja puudumisel välise sekkumiseta. Samamoodi objekti PLO annab korralduse taotlus.

Tuleb meeles pidada, et orientatsiooni objektide ei kehti üksikasjad tööprogrammi. Enamik juhiseid C ++ operaatorite vastab keeltel nagu C. Tegelikult liige funktsioone C ++ on väga sarnased funktsioonid C. Ainult laiemas kontekstis võimaldab kindlaks teha, kas juhis menetlus- või objektorienteeritud.

Objekti OOP: Definitsioon

Kaaludes probleem programmeerimine objektorienteeritud keele asemel küsimusi selle jagunemine eraldi funktsioonid on probleem eraldusrajatistes. OOP mõtlemine on palju lihtsam töötada välja rakendusi. See on tingitud sarnasuse tarkvara ja reaalseid esemeid.

Millised asjad on objekte OOP? Siin on mõned tüüpilised kategooriad.

Füüsiline objekt OOP - on:

  • transport voolu mudelid;
  • elektriosadele circuit design programmi;
  • riigi majanduse mudel;
  • õhusõiduki lennujuhtimise süsteem.

Elements keskkonna kasutaja arvutisse:

  • menüü;
  • aknad;
  • graafika (liin, ristküliku, ringid);
  • klaviatuur, hiir, printer, kettaseadmed.

inimesed:

  • töötajatele;
  • õpilased;
  • kliendid;
  • müüjad.

teave:

  • raamatupidamises;
  • eraasi;
  • sõnastik;
  • tabeli pikkus- ja laiuskraadid asulate.

Side reaalses maailmas objektid ja PLO oli tingitud kombinatsioon funktsioone ja andmeid, mida nad on revolutsiooniliselt programmeerimine. Selline tihe mängu keeltel seal.

klass

Objektid PLO - klassi liige. Mis see tähendab? Programmikeeled on sisseehitatud andmetüübid. Liik int, t. E. täisarvtüübil mis on ettemääratud C ++. Võite kuulutada mis tahes arvu int muutuja.

Samamoodi hulga objektide defineeritud ühe klassi. See määratleb ülesanded ja selles sisalduvad andmed selle võimalusi, mitte luua neile samuti int ei loo muutujad.

Klassi PLO - kirjeldus mitmeid sarnaseid objekte. Prince, Sting ja Madonna on lauljad. On keegi selle nime, kuid inimesed võib nimetada nii, kui neil on asjakohased omadused. OOP objekti - antud juhul.

pärimine

Elus klassid jagunevad alamklassiks. Näiteks loomade jagunevad kahepaiksed, imetajad, linnud, putukad ja nii edasi. D.

Põhimõte selline jaotus on, et iga alamklass on ühisjooni klassi kust. Kõik autod on rattad ja mootor. See on rohkem iseloomulik sõidukeid. Lisaks üldiste omaduste alaluokalta on oma eripärad. On palju bussiistmetes ja veoautod on ruumi teha suuri raskusi.

Samamoodi aluse klassi saab alamklass vanema mitu derivaadid, mida saab määratleda nii, et nad jagavad oma eripärad, lisaks. Pärand nagu funktsioonid, lihtsustades menetluslikke programmi. Kui mitu koodi osadele teevad päris palju sama, saate eraldada ühiseid elemente ja neid ühe protseduuri. Kolm taotluse ala saab helistada funktsiooni täita ühiseid tegevusi, kuid nad võivad toota ja oma tegevuse. Samamoodi baasklass sisaldab ühisteavet derivaatide rühmast. Sarnane funktsioon vähendab pärilikust objektorienteeritud programmi ja seoste selgitamiseks selle elemente.

ümbertöötlemine

Kui klass on loodud ja silumisel, võib üle kanda teistele programmeerijatele taaskasutada oma enda rakendusi. See on nagu raamatukogu funktsioone, mida saab lisada erinevaid rakendusi.

In OOP, pärandist on jätk idee korduvaks kasutamiseks. Olemasolevast klassi muutmata, siis me moodustada uus, lisaks muid funktsioone. Lihtne uuesti kasutada olemasolevaid tarkvara - oluline eelis PLO. Arvatakse, et see annab suurenevat kasumlikkust alginvesteeringu.

Uue andmetüübid

Teenused sobivad uute andmete liiki. Oletame programm kasutab kahemõõtmeline väärtused (näiteks koordinaadid või pikkus- ja laiuskraad), ja on soov väljendada toimel aritmeetilise neile:

seisukoha1 = asend + päritoluga

kus seisukoha1, asend ja päritolu - paari sõltumatu arvväärtusi. Loomine klassi, mis sisaldab nende kahe väärtuse ja muutuva deklaratsioonid oma objektide loob uusi andmeid tüüp.

Polümorfism, ülekoormus

Operaatorid = (võrdne) ja + (pluss) kasutatakse aritmeetilise positsiooniline eespool ei tegutse samuti sisseehitatud tüüpe, näiteks int. Positsioon objektid ja teised. Kas ei ettemääratud ja tarkvarast. Kuidas need ettevõtjad teavad, kuidas neid? Vastus peitub selles, et uusi käitumisviise saab määrata neile. Neid toiminguid saab liikme ülesannete klassi Positsioon.

Kasutades operaatorid või menetlusi sõltuvalt sellest, mida nad teevad nimetatakse polümorfismi. Kui on olemas operaator, nagu + või =, saab võimaluse töötada uusi andmeid tüüp, ta ütleb, et see on ülekoormatud. Ülekoormuse PVO - mingi polümorfismi. On selle oluline funktsioon.

Raamat PVO "objektorienteeritud programmeerimise võhikutele" võimaldab kõigil tutvuda selle teemaga põhjalikumalt.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.unansea.com. Theme powered by WordPress.