Į objektą orientuotas programavimas: apibrėžimas

Dėl programavimo taikymo sričių įvairovės atsirado įvairių tipų kalbos. Šiame straipsnyje mes atrasime kas yra objektinis programavimas ir kokios egzistuoja į objektą orientuotos programavimo kalbos. Išdrįsk išplėsti savo žinias!

Objektinis programavimas

Objektinis programavimas

Apskritai programuojant reikia mokėti kalbą, atsakingą už komandų perdavimą kompiuteriui, ir algoritmą, paverstą programa, bet kas yra programavimas?

Programavimas yra veiksmų rinkinys, dėl kurio reikia parašyti kodą, galintį pasiekti tikslą, kuriam jis buvo sukurtas. Savo ruožtu, a šaltinio kodas yra vidinis programos ar programinės įrangos atvaizdavimas, o programa yra užsakymų grupė, reguliuojanti kompiuterių veikimą.

Iš esmės programa susideda iš trijų etapų: programos redagavimas tinkama kalba, šaltinio kodo pavertimas mašinos instrukcijomis ir susiejimas tarp objektų kodų ir funkcijų bibliotekų, galiausiai sukuriant tai, kas jis žinomas kaip vykdomasis kodas.

Programa turi būti parašyta vartotojui suprantama programavimo kalba. Kad tai įvyktų, programuotojas turi priimti vieną iš daugelio esamų programavimo paradigmų, kurios lemia viziją, taigi ir metodų, kurių reikia laikytis kuriant tą, pasirinkimą.

Programavimo paradigmos

Programavimo ir technologijų pažanga paskatino įvairias programavimo metodikas ar paradigmas. Tai savo ruožtu lėmė skirtingus programavimo stilius ir skirtingas problemų sprendimo formas. Čia yra esamos paradigmos:

Imperatyvi paradigma

Jame teigiama, kad programos yra griežta instrukcijų seka iš viršaus į apačią, kurią nutraukia tik kažkur įtraukta paprograma.

Struktūrizuota paradigma

Ji vykdo kodo struktūras, sugrupuotas pagal procedūrų ir funkcijų blokus. Kodas atkuriamas ciklo pavidalu, kuriame dominuoja logiška priežastis.

Deklaracinė paradigma

Jame nenustatyta tvarka, kurios reikia laikytis atliekant veiksmus, būtinus problemai išspręsti. Joje išskiriami du tipai: funkcinė paradigma, kur problema ir sprendimas apibūdinami kaip funkcijos, ir loginė paradigma, pagrįsta loginiu predikatu.

Įvykių programavimo paradigma

Jis pagrįstas begaline iteracija, skirta aptikti problemą ir nustatyti, kaip ją išspręsti.

Lygiagrečios, paskirstytos ir lygiagrečios paradigmos

Programai įgyvendinti reikia kelių skaičiavimo vienetų. Įprasta tvarka veikia nepriklausomai nuo kitų kompiuterių.

Į objektą orientuota paradigma

Objektinis programavimas

Šio tipo programavimas grindžiamas trimis pagrindiniais principais: duomenų įtraukimas, objektų abstrakcija ir tipo tikrinimas pagal klasių hierarchiją.

Svarbu pažymėti, kad programavimo kalba paprastai neatsako tik į vieną paradigmą, bet gali būti kelių jų tipų derinio rezultatas. Tačiau žemiau mes išsamiai pasiduosime tik apibrėžimui kas yra objektinis programavimas ir kuo jie skiriasi į objektą orientuotos programavimo kalbos kurie egzistuoja

Savybės

Šiandien tai yra labiausiai paplitusi paradigma, nes ji leidžia geriau valdyti sudėtingumą už priimtiną kainą. Per jį siūloma galimybė statyti dalimis, tai yra padalinti darbą pagal komponentus, todėl gaunamos patikimos, nešiojamos ir daugkartinio naudojimo programos, kurios duoda ilgalaikės naudos.

Skirtingai nuo kitų tipų programavimo, į objektą orientuotas programavimas dalių ieško objektuose, kurie kyla iš problemos srities, o ne pačiame problemos sprendime. Pagrindinis reikalavimas yra tas, kad kiekvienas komponentas elgiasi taip, kaip tikimasi, kad mūsų vystymasis nebūtų paveiktas jo įgyvendinimo, ir kad mes a priori žinotume kiekvieno komponento siūlomas sąlygas, taip pat kaip prisijungti prie .

Objektinis programavimas

Žvelgiant iš kitos pusės, galime paminėti, kad į objektą orientuotas programavimas yra susijęs su žinių teorija, teigiančia, kad žmogus saugo informaciją pagal iš anksto nustatytas schemas, savo kaip asmens patirties produktą. Tokiu būdu tokio tipo programavimas leidžia perteikti žinias euristiniu ar teoriniu būdu, naudojant asmens psichines schemas, panaudojant ankstesnes žinias, išsaugotas informacijos vienetuose.

Kilmė

https://youtu.be/aESIbDclIzw?t=5

Į objektą orientuotas programavimas-tai technika, stilius ar metodika, sukurta septintajame dešimtmetyje dėl krizės, atsiradusios dėl to, kad neįmanoma pakeisti ar modifikuoti sudėtingų programų. Situacija blogėjo ir blogėjo, nes trūko specializuoto personalo, norinčio prižiūrėti programas.

Momentinis šios krizės sprendimas buvo struktūrinio programavimo rankose, kurį sudarė programų suskaidymas į atskiras procedūras, kurios konkrečias užduotis atliktų atskirai. Tai atnešė ir kitų trūkumų, daugiausia dėl to, kaip sunku buvo pasiekti koordinavimą tarp daugelio projekte dalyvaujančių kūrėjų, nes kuo daugiau užduočių, tuo daugiau programuotojų.

Be jokios abejonės, pagrindinis tokio tipo programavimo trūkumas buvo poreikis konceptualiai atskirti duomenis nuo kodų. Padėtis, kurią tiesiogiai pablogino programos dydis ir sudėtingumas.

Taigi, siekiant sumažinti programų sudėtingumą, gimė į objektą orientuotas programavimas. Pagrindinis jo pranašumas yra tai, kad jis leidžia kurti sudėtingas programas naudojant paprastesnius objektus. Šie objektai sudaro programinės įrangos objektus, orientuotus pagal šią metodiką. Galimybė paveldėti duomenis ir kodą iš esamų programų pagerina kūrėjo produktyvumą. Be to, tai leidžia lengvai išplėsti ir pakartotinai naudoti klases kitose programose, nereikia labai keisti pradinio kodo.

funkcijos

Į objektą orientuotas programavimas turi keletą savybių, čia yra pagrindinės:

  • Objektinio programavimo pagrindas yra klasės, o ne algoritmai. Tai yra loginiai elementai.
  • Kiekvienas objektas yra klasės egzempliorius.
  • Programa suvokiama kaip priemonė siųsti ir gauti pranešimus per objektų, reaguojančių vienas į kitą, rinkinį.
  • Kiekvienas objektas turi ieškoti geriausio būdo atsakyti į kiekvieną gautą pranešimą.
  • Kiekvienas objektas gali skirtingai reaguoti į pranešimus.
  • Tai leidžia lengvai pakeisti programinę įrangą, nes komponentai yra keičiami.
  • Daliniai ir vidiniai pokyčiai neturi įtakos likusios sistemos veikimui.
  • Jei bus laikomasi pagrindinių objektinio programavimo principų, sistemos kūrimo kaina bus mažesnė nei tais atvejais, kai dalys yra tarpusavyje susijusios.
  • Gali būti, kad klasės, gautos iš kitų, paveldės savo pirmtakų žinias ir įgūdžius. Per paveldėjimą klasės yra susijusios viena su kita, o darbo būdas išnaudojamas nereikia perrašyti kodo.
  • Klasės metodai gali atlikti skirtingus dalykus, net jei jie turi tą patį pavadinimą. Tai reiškia, kad per polimorfizmą programuotojas gali įgyvendinti kelias to paties metodo formas, priklausomai nuo klasės, kurioje įgyvendinama. Tai reiškia, kad tuo pačiu pavadinimu arba prieigos laikmena galima pasiekti kelis metodus.

Skirtumai: struktūrinis programavimas vs. Objektinis programavimas

Kaip jau minėjome, į objektą orientuotas programavimas atspindi struktūrinio programavimo raidą, o tai nereiškia, kad jis yra geresnis už jį, nes kiekvienas iš jų turi savo naudą, priklausomai nuo to, kokios sistemos bus sukurta. Pagrindiniai skirtumai tarp šių dviejų yra nustatyti toliau:

Struktūrinis programavimas išsprendžia algoritmines problemas, pradedant nuo kai kurių duomenų įvedimo, sukuriama išvestis. Objektinis programavimas grindžiamas objektų modeliavimu, labai naudingas kuriant žiniatinklio programas.

Pirmasis sutelkiamas į duomenų struktūrą, o antrasis - pagal objektus, turinčius savo būseną ir elgesį.

Informacija struktūrizuotame programavime teka per struktūras ir iškviečia funkcijas, o į objektinį programavimą tai yra jų tarpusavio sąveikos rezultatas, siunčiant ir gaunant pranešimus.

Pagrindiniai principai

Dėl objektinio programavimo koncepcijos atsiranda trys pagrindiniai šios paradigmos principai. Šitie yra:

Duomenų įterpimas

Kaip jau minėjome, tikimasi, kad objektai žinos, kaip reaguoti į gautas žinutes, parodydami konkretų elgesį. Tačiau mes nenorime, kad tas, kuris siunčia pranešimą, žinotų, kaip tai daro. Šio tikslo pasiekimas vadinamas duomenų įtraukimu. Kitaip tariant, jūs norite, kad kiekviena programos dalis žinotų tik tai, kas ją domina, taip išvengiant papildomo poveikio, susijusio su kitais objektais.

Trumpai tariant, įtraukus duomenis, prieiga prie objektų komponentų yra neįmanoma, tai yra, jie yra apsaugoti viename gerai apibrėžtame programavimo bloke, nes kiekvienas iš jų turi dizaino specifikacijas, dėl kurių jie nepriklauso vienas nuo kito.

Pagrindinė priežastis, kodėl galime norėti, kad kliento objektas ignoruotų įgyvendinimo būdą, yra ta, kad paprastai gali būti kelios tos pačios operacijos alternatyvos. Be to, ateityje galime nuspręsti pereiti nuo vienos alternatyvos prie kitos, klientui nežinant apie tai ar neturint įtakos paslaugos teikimui.

Objekto abstrakcija

Esminis į objektą orientuoto programavimo bruožas yra tas, kad jis siekia atakuoti problemą dalimis. Tokiu būdu pirmiausia reikia surasti objektus, tada nustatyti, kaip jie turėtų sąveikauti, ir galiausiai įgyvendinti savo elgesį. Vadinasi, mes randame objektus, kurie padės mums išspręsti problemą.

Abstrakcija apima dviejų tipų žinias, duomenis ar kintamuosius, kurie sudaro psichinę schemą, ir metodus, funkcijas ar procedūras, susijusias su šia schema su kitomis iš anksto nustatytomis schemomis. Tai yra, duomenų paėmimo dėka galima apibrėžti duomenų sritį ir struktūrą, taip pat nustatyti prieigos prie jų metodus. Galiausiai, abstrakcija tampa naujo tipo programuotojo apibrėžtais duomenimis, kuriuos sudaro atributai ir metodai, taikomi pirmiesiems.

Dėl to, kad yra daug psichinių schemų, skirtų tai pačiai problemai, kiekvienas programuotojas gali organizuoti užsiėmimus įvairiais būdais, atsižvelgdamas į savo asmeninį suvokimą. Jis turi omenyje tai, kad objektų abstrakcija yra programos dizaino galimybė kurti vartotojo apibrėžtus duomenis.

Tipo tikrinimas pagal klasių hierarchiją

Taip pasirenkate kalbą tipo patikrinimams atlikti. Yra kalbos, kurios nusprendžia tai daryti kompiliacijos metu, o kitos - vykdymo metu. Kitos kalbos net nerenka, o tai nesuteikia jums galimybės atlikti bet kokių patikrinimų iki vykdymo laiko.

Kai patikrinimas atliekamas vykdymo metu, jis vadinamas dinaminiu patikrinimu. Priešingai, kai tai atliekama kompiliavimo metu, tai vadinama statiniu tikrinimu.

Dėl to, kad atliekant statinį patikrinimą klaidos atsiranda nuo pat pradžių, nepasiekus vykdymo momento, dažnai sakoma, kad tokio tipo patikrinimas yra saugesnis. Tačiau dinaminis testavimas leidžia iš dalies įdiegti, nereikia pakartotinai perrašyti kodo.

Kaip tai veikia?

Pirmasis žingsnis sprendžiant problemą pagal šią paradigmą yra surasti problemos srities objektus ar subjektus. Tada reikia rasti būdą, kaip šie subjektai sąveikauja, kad išspręstų problemą, nustatydami pranešimus, kuriuos objektai siunčia, kokia tvarka ir kokiomis sąlygomis. Galiausiai turite įgyvendinti objektų elgesį, remdamiesi atsakymu, kurį jie pateikia pranešimų atžvilgiu.

Apibendrinant galima pasakyti, kad kai programa vykdoma pagal į objektą orientuoto programavimo paradigmą, atsitinka trys dalykai: objektai sukuriami pagal poreikį, pranešimai iš vieno objekto į kitą pereina lygiagrečiai su programos apdorotu informacija ir kai objektai nebereikalingi, jie ištrinami, kad atlaisvintų atmintį sistemoje.

Pagrindinės sąvokos

Norėdami šiek tiek daugiau suprasti kas yra objektinis programavimas, turime paminėti šias pagrindines sąvokas:

  • Objektas: jis nurodo subjektą, kuris gali būti pranešimų gavėjas, o gali atsakyti į juos ir siųsti pranešimus kitiems objektams. Būtybė turi elgesį.
  • Tapatybė: Tai aspektas, kuris atskiria vieną objektą nuo kito.
  • Pranešimas: tai yra sąveika tarp subjekto, kuris prašo paslaugos ir kito, kuris ją teikia.
  • Kliento objektas: Jis siunčia pranešimą.
  • Gavėjo objektas: Tai objektas, kuris gauna pranešimą.
  • Delegavimas: pranešimų siuntimas iš objekto į kitus objektus. Kai objektui reikia kitų bendradarbiavimo, kad jis galėtų atsakyti į pranešimus.
  • Elgesys: tai yra atsakymai į pranešimus, kuriuos gauna gaunantis objektas.
  • Būsena: nurodoma dabartinė kiekvieno objekto situacija.
  • Atsakomybė: tai būsenos ir objekto elgesio sąveika.
  • Metodas: Tai reiškia objekto atsakymo į gautą pranešimą įgyvendinimą.
  • Polimorfizmas: Tai kai kurių objektų gebėjimas atsakyti į tą pačią žinutę, tačiau keliais skirtingais būdais.
  • Klasės: Tai objektų rinkiniai, kurie elgiasi vienodai. Juos gali apibrėžti programuotojas. Tai yra psichinės schemos, leidžiančios objektus abstrahuoti ir nustatyti, kaip susieti vienas kitą.
  • Atributas: Tai reiškia vidinį objekto kintamąjį, sukurtą išsaugoti jo būsenos dalį.
  • Sutartis: nurodomos žinios apie tai, ką siūlo kiekvienas komponentas ir kaip su juo prisijungti.

Trikčių šalinimas, pagrįstas objektiniu programavimu

Nustačius problemą ir pasiūlius galimą sprendimą, ją reikia perrašyti į programavimo kalbą, kad ją būtų galima atlikti kompiuteriu naudojant programą. Pagal objektinio programavimo metodiką yra apibrėžti šie etapai:

  • Programos apibrėžimas: Aiškiai, suprantamai ir aiškiai apibrėžiamas scheminis problemos aprašymas. Tai apima tvarkomų duomenų kilmės ir aspekto identifikavimą, taip pat rezultatų aprašymą ir jų pateikimo būdą.
  • Į objektą orientuota analizė ir dizainas: nurodo probleminės srities objektų identifikavimą ir aprašymą. Po to nustatomi atributai, ryšiai ir metodai, kurių reikia laikytis, siekiant apibrėžti klases, kurios bus įgyvendinamos konkrečia programavimo kalba.
  • Programavimas: iš esmės tai reiškia programos transkripciją, kuri apima teisingą kodo rašymą programavimo kalba, naudojant kūrimo stilių, galintį užtikrinti produkto kokybę, o tai padės tinkamai išspręsti problemą. Šis etapas apima algoritmų kūrimą, schemų kūrimą ir galutinį programavimą, stalinių kompiuterių testus, programos kodavimą, kompiliavimą ir vykdymą.
  • Dokumentacija: apima veiksmų sekos, būtinos problemai išspręsti, aprašymą. Tai apima komentarų eilučių, kurios paaiškina arba paaiškina kodo eilučių prasmę, įtraukimą, kuri gali būti paini, ypač nuorodos į identifikatorius ir deklaruotas duomenų struktūras, valdymo struktūras ir metodus bei jų parametrus. Šis etapas yra būtinas galutinio produkto sėkmei, nes nepavykus dokumentacijai, programas sunku skaityti ir derinti, o juo labiau jų modifikuoti ir prižiūrėti tampa beveik neįmanoma.

Kitaip tariant, galime pasakyti, kad programavimo kalbų funkcionalumas bėgant metams išaugo, daugiausia dėl naujų ir įvairių taikymo sričių atsiradimo. Nors tiesa, kad pradžioje šios kalbos iš esmės buvo naudojamos dideliems duomenų kiekiams tvarkyti ir tam tikriems skaičiavimams atlikti.

Dabar programavimo kalbos yra naudojamos beveik bet kurioje visuomenės srityje, apimančioje duomenų bazių valdymą, vaizdų generavimą ir net dirbtinį intelektą, be daugelio kitų aspektų.

Visų pirma, atsiradus naujoms programinės įrangos inžinerijos technologijoms, atsirado programavimo kalbų, kurias matysime toliau.

Į objektą orientuotos programavimo kalbos

Tai kalbos, skirtos duomenims ir programėlėms integruoti į klases. Tai gali paveldėti kitų transformuotų kodų savybes ir sukurti naujų savybių, kurios taip pat sukuria naują programavimo metodiką.

Klasifikacija

Kaip pamatysime vėliau, yra keletas programavimo kalbų, kurios reaguoja į objektą orientuotą paradigmą. Pagal jų įgyvendinimo būdą jie skirstomi į:

  • Kaip jie įgyvendina elgesį: tai apima kalbas, pagrįstas klasėmis ir prototipais ar pavyzdžiais.
  • Įgyvendindami objektų kūrimą: jie yra pagrįsti vykdymo laiku dinaminėje atminties srityje arba krūvos kompiliavimo laiku.
  • Pagal tipo tikrinimą: reiškia kompiliavimo laiko patikrą arba vykdymo laiko patikrą.

Tarp pagrindinių į objektą orientuotų kalbų yra:

kas yra objektinis programavimas

Mažas pokalbis

Jis gali būti užprogramuotas tik pagal objektinio programavimo paradigmą. Tai klasėmis pagrįsta kalba, kuria vykdymo metu projektuojami objektai dinaminėje atminties srityje. Jis tik tikrina tipą vykdymo metu, tai yra dinaminė tikrinimo kalba.

Java

Tai viena iš dažniausiai naudojamų kalbų šiandien, ji visiškai orientuota į objektus, sintaksė panaši į C ir C ++. Tai nepriklausoma nuo platformos.

Kaip ir „Smalltalk“, tai yra klasėmis pagrįsta kalba, kuri sukuria objektus dinaminės atminties srityje vykdymo metu, tačiau neatlieka tipo patikrinimų vykdymo metu, o greičiau kompiliavimo metu, tuo skirtumu, kad sukuria tarpinį nevykdomąjį kodą, kilęs iš išankstinės kompiliacijos. Dėl to tai yra statinė tikrinimo kalba.

„Java“ objektinis programavimas jie veikia virtualioje mašinoje, kurios specializacija yra tokia kalba, kuri veikia tarsi kompiuteris, todėl leidžia juos vykdyti be jų keitimo. Šio tipo mašinos vadinamos vertėjais.

Objektinis programavimas

JavaScript

Skirtingai nuo „Smalltalk“ ir „Java“, tai yra kalba, kuri remiasi prototipų kūrimu ar pavyzdžiais. Jis aiškinamas ir be tipų, tai yra, jis neatlieka tipo patikrinimų nei vykdymo, nei kompiliavimo metu. Sukuria objektus dinaminės atminties srityje vykdymo metu. Kadangi jai trūksta kompiliacijos, ji tampa dinamiškai patikrinta kalba.

Tai galinga kalba dėl savo perkeliamumo ir integracijos, taip pat standartinių ir paprastų programavimo metodų. Kitaip tariant, „JavaScript“ yra kodas, įterptas į tinklalapį, kurio tikslas yra pagerinti to puslapio dinamiškumą.

C + +

Tai padidina tradicinę C kalbą, nes įsisavina šios kalbos privalumus ir apima objektų atramas. Nors jis apima tris skirtingas programavimo paradigmas, tokias kaip struktūrinis programavimas, bendras programavimas ir į objektą orientuotas programavimas, būtent jis vadovavo perėjimui iš struktūrizuotos paradigmos į objektinę orientuotą paradigmą.

Tai universali kalba, labai dažnai naudojama tarp programų programuotojų tiek „Windows“, tiek „GNU Linux“. Sukuria objektus dinaminėje atmintyje vykdymo metu. Iš esmės jis orientuotas į našumą, perkeliamumą ir abstrakciją. Pagrindinis jo trūkumas yra tas, kad kompiliavimo metu sukuriamas vykdomasis failas, kurio kodas galioja tik toje platformoje, kurioje buvo sudaryta kompiliacija. Kita vertus, būdama vykdomoji kalba, ji nėra nepriklausoma nuo platformos.

C#

Tai programavimo kalba, kuri veikia vykdymo metu ir yra įtraukta į .NET platformą, kuri leidžia dalintis ir atpažinti savo bibliotekas. Jis yra visiškai orientuotas į objektus, leidžia kurti visų rūšių programas.

Tai yra C ir C ++ kalbų raida, pašalinant pastarųjų sudėtingumą, nes ją lengviau naudoti ir sumažėja klaidų riba jos veikimo metu, nes priimamas išankstinis kompiliavimas.

Objektinis programavimas

Pitonas

Tai daugiaplatformė kalba, daugiausia orientuota į objektus, tačiau ji apima ir kitas paradigmas, tokias kaip privalomas programavimas, funkcinis programavimas ir į aspektus orientuotas programavimas.

Jo švari sintaksė, labai artima natūraliai kalbai, skatina jos kodo skaitymą. Labai rekomenduojama pradėti nuo programavimo pasaulio.

Jis vykdomas per tarpinę programą, tai yra per vertėją. Kadangi tai pusiau aiškinama kalba, ji yra lanksti ir nešiojama. Jis įvedamas dinamiškai, o tai reiškia, kad duomenų tipas nustatomas vykdymo metu.

Paskalis

Šiuo metu tai yra kalba, naudojama par excellence mokant programavimo. Ji turi paprastą sintaksę su labai struktūruota kalba, kuri palengvina programų skaitymą ir aiškinimą. Jį galima surinkti bet kurioje mašinoje, kurioje yra „Pascal“ kompiliatorius.

Nepaisant struktūrizuotos kalbos, ji leidžia į objektą orientuotą programavimą per savo „Turbo Pascal“ versiją. Ji turi integruotą aplinką, iš kurios galima rašyti programas ir jas išbandyti. Galų gale paskalis yra bendros paskirties kalba.

Jei jus dominanti tema yra susijusi su programavimu, kviečiu perskaityti Kas yra programavimo algoritmas?


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: „Actualidad“ tinklaraštis
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.