Objektno usmerjeno programiranje: definicija

Zaradi raznolikosti področij uporabe programiranja so nastale različne vrste jezikov. V tem članku bomo odkrili kaj je objektno usmerjeno programiranje in kakšne vrste objektno usmerjenih programskih jezikov obstajajo. Drznite si razširiti svoje znanje!

Objektno usmerjeno programiranje

Predmetno usmerjeno programiranje

Na splošno programiranje zahteva poznavanje jezika, ki je odgovoren za prenos ukazov v računalnik, in algoritem, pretvorjen v program, toda kaj je programiranje?

Programiranje je niz dejanj, ki vodijo do pisanja kode, ki lahko izpolni cilj, zaradi katerega je bila ustvarjena. S svoje strani je a izvorno kodo je notranja predstavitev programa ali programske opreme, program pa je skupina naročil, ki urejajo delovanje računalnikov.

V bistvu gre program skozi tri stopnje: izdaja programa v ustreznem jeziku, preoblikovanje izvorne kode v navodila za stroj in povezovanje med kodami objektov in knjižnicami funkcij, kar končno povzroči, kaj znana je kot izvršljiva koda.

Program mora biti napisan v programskem jeziku, ki je razumljiv uporabniku. Da bi se to zgodilo, mora programer sprejeti eno od številnih obstoječih programskih paradigm, ki določajo vizijo in zato izbiro metod, ki jim je treba slediti pri njeni konstrukciji.

Paradigme programiranja

Napredek v programiranju in tehnologiji je povzročil različne programske metodologije ali paradigme. To pa je privedlo do različnih stilov programiranja in različnih oblik reševanja problemov. Tu so obstoječe paradigme:

Imperativna paradigma

Navaja, da so programi strogo zaporedje navodil od zgoraj navzdol, ki se prekine le z vključitvijo podprograma nekje vanj.

Strukturirana paradigma

Uveljavlja kodne strukture, razvrščene po sklopih postopkov in funkcij. Koda se reproducira v obliki zanke, v kateri prevladuje logični razlog.

Deklarativna paradigma

Ne določa vrstnega reda, ki ga je treba upoštevati pri izvajanju dejanj, potrebnih za rešitev težave. Znotraj nje ločimo dve vrsti: funkcionalno paradigmo, kjer sta problem in rešitev opisana kot funkcije, in logično paradigmo, ki temelji na logičnem predikatu.

Paradigma programiranja dogodkov

Temelji na neskončni ponovitvi, da zazna težavo in ugotovi, kako jo rešiti.

Vzporedne, porazdeljene in sočasne paradigme

Izvedba programa zahteva več računskih enot. Programi se izvajajo neodvisno na drugih računalniških enotah.

Objektno usmerjena paradigma

Objektno usmerjeno programiranje

Ta vrsta programiranja temelji na treh osnovnih načelih: inkapsulacija podatkov, abstrakcija objektov in preverjanje tipa glede na hierarhijo razredov.

Pomembno je omeniti, da se programski jezik običajno ne odziva samo na eno paradigmo, ampak je lahko posledica kombinacije več vrst le -teh. Spodaj pa se bomo podrobno posvetili le opredelitvi kaj je objektno usmerjeno programiranje in v čem so različne objektno naravnani programski jeziki ki obstajajo

Kakovosti

Danes je najbolj razširjena paradigma, saj omogoča boljše obvladovanje kompleksnosti po razumni ceni. Z njim je predlagana možnost gradnje po delih, to je delitev dela na komponente, kar ima za posledico robustne, prenosne in aplikacije za večkratno uporabo z dolgoročnimi koristmi.

Za razliko od drugih vrst programiranja, objektno usmerjeno programiranje išče dele v entitetah, ki izvirajo iz področja problema, in ne znotraj same rešitve problema. Primarna zahteva je, da se vsaka komponenta obnaša pričakovano, tako da način njenega izvajanja ne vpliva na naš razvoj in da lahko vnaprej poznamo pogoje, ki jih ponuja vsaka komponenta, pa tudi, kako se povezati z.

Objektno usmerjeno programiranje

Z drugega vidika lahko omenimo, da je objektno usmerjeno programiranje povezano s teorijo znanja, ki pravi, da človek shranjuje informacije po vnaprej določenih shemah, produktu svojih izkušenj kot osebe. Na ta način tovrstno programiranje omogoča predstavljanje znanja na hevrističen ali teoretičen način, skozi posameznikove miselne sheme, pri čemer se uporablja predhodno znanje, shranjeno v informacijskih enotah.

Poreklo

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

Objektno usmerjeno programiranje je tehnika, slog ali metodologija, razvita v šestdesetih letih prejšnjega stoletja, ki je posledica krize, ki je nastala zaradi nezmožnosti spreminjanja ali spreminjanja kompleksnih programov. Razmere, ki so postajale vse slabše in slabše zaradi pomanjkanja specializiranega osebja, pripravljenega vzdrževati programe.

Trenutna rešitev te krize je bila v rokah strukturiranega programiranja, ki je obsegalo razčlenitev programov na posamezne postopke, ki bi posebne naloge opravljali ločeno. To je prineslo druge pomanjkljivosti, ki so nastale predvsem zaradi tega, kako težko je bilo doseči usklajevanje med številnimi razvijalci, ki so sodelovali pri projektu, saj je večje število opravil, večje je število programerjev.

Brez dvoma je bila glavna pomanjkljivost tovrstnega programiranja potreba po idejnem ločevanju podatkov od kod. Stanje, ki se je zaradi velikosti in kompleksnosti programa neposredno poslabšalo.

Tako se je za zmanjšanje kompleksnosti programov rodilo objektno usmerjeno programiranje. Njegova glavna prednost je, da omogoča izdelavo kompleksnih programov z uporabo enostavnejših predmetov. Ti predmeti sestavljajo entitete programske opreme, usmerjene po tej metodologiji. Sposobnost podedovanja podatkov in kode iz obstoječih aplikacij izboljša produktivnost razvijalcev. Prav tako olajša razširitev in ponovno uporabo razredov v drugih aplikacijah, ne da bi bilo treba močno spreminjati izvirno kodo.

lastnosti

Objektno usmerjeno programiranje ima več lastnosti, tukaj so glavne:

  • Osnova objektno usmerjenega programiranja so razredi in ne algoritmi. Ti so logični gradniki.
  • Vsak predmet je primerek razreda.
  • Program se dojema kot sredstvo za pošiljanje in prejemanje sporočil prek niza predmetov, ki se med seboj odzivajo.
  • Vsak predmet mora iskati najboljši način za odgovor na vsako prejeto sporočilo.
  • Vsak predmet se lahko na sporočila odziva na različne načine.
  • Olajša menjavo programske opreme, ker so komponente zamenljive.
  • Delne in notranje spremembe ne vplivajo na obnašanje preostalega dela sistema.
  • Če upoštevate osnovna načela objektno usmerjenega programiranja, bodo stroški izgradnje sistema nižji kot v primerih, ko so deli medsebojno odvisni.
  • Možno je, da razredi, ki izhajajo iz drugih, podedujejo znanje in spretnosti svojih predhodnikov. Z dedovanjem so razredi med seboj povezani in izkorišča se način dela, ne da bi bilo treba kodo prepisovati.
  • Metode razreda lahko naredijo različne stvari, tudi če imajo isto ime. To pomeni, da lahko programer s polimorfizmom izvede več oblik iste metode, odvisno od razreda, na katerem je izvedba izvedena. To pomeni, da lahko z istim imenom ali dostopom do medija dostopate do več metod.

Razlike: strukturirano programiranje vs. Objektno usmerjeno programiranje

Kot smo že omenili, objektno usmerjeno programiranje predstavlja razvoj strukturiranega programiranja, kar pa ne pomeni, da je boljše od njega, saj ima vsak svojo uporabnost, odvisno od vrste sistema, ki se bo razvil. Osnovne razlike med obema so ugotovljene spodaj:

Strukturirano programiranje rešuje algoritemske težave, od vnosa nekaterih podatkov se ustvari izhod. Objektno usmerjeno programiranje temelji na objektno modeliranje, zelo uporabno pri razvoju spletnih aplikacij.

Prva se osredotoča na podatkovno strukturo, druga pa na objekte s svojim stanjem in vedenjem.

Informacije v strukturiranem programiranju tečejo skozi strukture in kličejo funkcije, v objektno usmerjenem programiranju so rezultat interakcije med njimi, s pošiljanjem in prejemanjem sporočil.

Osnovna načela

Kot posledica koncepta objektno usmerjenega programiranja se pojavijo tri osnovna načela te paradigme. To so:

Inkapsulacija podatkov

Kot smo že omenili, se pričakuje, da se bodo predmeti znali odzvati na prejeta sporočila in pokazati posebno vedenje. Ne želimo pa, da kdor pošlje sporočilo, ve, kako to počne. Doseganje tega cilja je tisto, kar je znano kot inkapsulacija podatkov. Z drugimi besedami, želite, da vsak del programa pozna le tisto, kar ga zanima, s čimer se izognete stranskim učinkom, povezanim z drugimi predmeti.

Skratka, z inkapsulacijo podatkov je dostop do sestavnih delov objektov nemogoč, to je, da so ti zaščiteni v eni sami dobro opredeljeni programski enoti, ker ima vsak od njih oblikovalske specifikacije, zaradi katerih so neodvisni drug od drugega.

Glavni razlog, zakaj želimo, da odjemalski objekt prezre način izvedbe, je, da na splošno obstaja več možnosti za isto operacijo. Poleg tega se lahko v prihodnosti odločimo za spremembo ene alternative na drugo, ne da bi stranka tega vedela ali videla, da to vpliva na opravljanje storitve.

Abstrakcija predmeta

Bistvena značilnost objektno usmerjenega programiranja je, da skuša problem delno napasti. Na ta način najprej poišče predmete, nato določi, kako naj medsebojno delujejo in na koncu izvede svoje vedenje. Posledično imamo te predmete, ki nam bodo pomagali rešiti težavo.

Abstrakcija vključuje dve vrsti znanja, podatke ali spremenljivke, ki sestavljajo miselno shemo, in metode, funkcije ali postopke, ki povezujejo omenjeno shemo z drugimi vnaprej določenimi shemami. Se pravi, zahvaljujoč odvzemu podatkov je mogoče določiti domeno in strukturo podatkov ter določiti načine dostopa do njih. Končno abstrakcija postane nova vrsta podatkov, ki jo definira programer, sestavljena iz atributov in metod, ki se uporabljajo za prve.

Zaradi obstoja več miselnih shem za isti problem lahko vsak programer organizira pouk na različne načine, glede na svoje osebno dojemanje. S tem misli, da je abstrakcija predmeta sposobnost oblikovanja programa ustvariti uporabniško določene podatke.

Preverite tip glede na hierarhijo razredov

Takrat izberete jezik za preverjanje tipa. Obstajajo jeziki, ki se za to odločijo med sestavljanjem, drugi pa med izvajanjem. Drugi jeziki se celo ne sestavijo, kar vam ne daje možnosti, da opravite kakršne koli preglede do časa izvajanja.

Ko se preverjanje izvede v času izvajanja, se imenuje dinamično preverjanje. V nasprotju s tem, ko se izvede med prevajanjem, se imenuje statično preverjanje.

Zaradi dejstva, da se pri statičnem preverjanju napake pojavljajo od začetka, ne da bi dosegle trenutek izvedbe, se pogosto reče, da je ta vrsta preverjanja bolj varna. Vendar pa dinamično testiranje omogoča delne izvedbe, ne da bi bilo treba kodo večkrat prepisati.

Kako deluje?

Prvi korak pri reševanju problema v tej paradigmi je iskanje predmetov ali entitet na problemski domeni. Nato je treba najti način, kako te entitete medsebojno delujejo, da bi rešile težavo, vzpostavile sporočila, ki jih pošiljajo predmeti, v kakšnem vrstnem redu in pod kakšnimi pogoji. Nazadnje morate implementirati vedenje predmetov, pri čemer se sklicujete na njihov odziv glede sporočil.

Če povzamemo, ko se program izvaja pod paradigmo objektno usmerjenega programiranja, se zgodijo tri stvari: predmeti se ustvarijo po potrebi, sporočila se pretakajo iz enega predmeta v drugega vzporedno z obdelavo informacij v programu in ko predmeti niso več potrebni, se izbrišejo, da se sprosti pomnilnik v sistemu.

Ključni pojmi

Da bi razumeli malo več o kaj je objektno usmerjeno programiranje, moramo omeniti naslednje osnovne pojme:

  • Objekt: Nanaša se na entiteto, ki je lahko prejemnik sporočil, hkrati pa se lahko odzove nanje in pošlje sporočila drugim objektom. To je entiteta, ki ima vedenje.
  • Identiteta: To je vidik, ki ločuje en predmet od drugega.
  • Sporočilo: To je posledična interakcija med subjektom, ki zahteva storitev, in drugim, ki jo ponuja.
  • Odjemalski objekt: Kdor pošlje sporočilo.
  • Objekt sprejemnika: To je objekt, ki prejme sporočilo.
  • Delegiranje: nanaša se na pošiljanje sporočil iz predmeta v druge objekte. Ko predmet potrebuje sodelovanje drugih, da se lahko odzove na sporočila.
  • Vedenje: To so odzivi na sporočila, ki jih prejme predmet prejemnik.
  • Status: Sklicuje se na trenutno stanje vsakega objekta.
  • Odgovornost: To je interakcija med stanjem in vedenjem predmeta.
  • Metoda: Nanaša se na izvajanje odgovora, ki ga predmet poda na prejeto sporočilo.
  • Polimorfizem: To je sposobnost nekaterih predmetov, da se odzovejo na isto sporočilo, vendar na več različnih načinov.
  • Razredi: To so nabori predmetov, ki se obnašajo na enak način. Določi jih lahko programer. So miselne sheme, ki omogočajo abstrakcijo predmetov in določajo način medsebojnega odnosa.
  • Atribut: Nanaša se na notranjo spremenljivko predmeta, ustvarjeno za shranjevanje dela njegovega stanja.
  • Pogodba: Sklicuje se na znanje o tem, kaj vsaka komponenta ponuja in kako se z njo povezati.

Odpravljanje težav na podlagi objektno usmerjenega programiranja

Ko je težava ugotovljena in predlagana možna rešitev, jo je treba prepisati v programski jezik, tako da jo lahko z uporabo programa izvede računalnik. Po metodologiji objektno usmerjenega programiranja so opredeljene naslednje stopnje:

  • Opredelitev programa: obravnava shematski opis problema na jasen, razumljiv in dobro opredeljen način. Vključuje identifikacijo izvora in vidika podatkov, ki jih je treba obdelati, pa tudi opis rezultatov in način njihove predstavitve.
  • Objektno usmerjena analiza in oblikovanje: Nanaša se na identifikacijo in opis objektov na problemskem področju. Nato se določijo atributi, odnosi in metode, ki jih je treba upoštevati, da se opredelijo razredi, ki bodo izvedeni v določenem programskem jeziku.
  • Programiranje: V bistvu se nanaša na prepis programa, ki vključuje pravilno pisanje kode v programskem jeziku z uporabo razvojnega sloga, ki lahko zagotovi kakovost izdelka, kar bo povzročilo ustrezno rešitev problema. Ta stopnja vključuje izdelavo algoritmov, izdelavo diagramov poteka in končno programiranje, preizkušanje namiznih računalnikov, kodiranje, kompilacijo in izvedbo programa.
  • Dokumentacija: vključuje opis zaporedja korakov, potrebnih za rešitev težave. Vključuje vrstice komentarjev, ki pojasnijo ali pojasnijo pomen kodnih vrstic, ki bi lahko bile zmedene, zlasti tiste, ki se nanašajo na identifikatorje in deklarirane podatkovne strukture, nadzorne strukture in metode ter njihove parametre. Ta stopnja je bistvena za uspeh končnega izdelka, saj če dokumentacija ne uspe, je programe težko brati in odpravljati napake, še bolj pa je njihova sprememba in vzdrževanje skoraj nemogoča.

Po drugi strani lahko rečemo, da se je funkcionalnost programskih jezikov z leti povečala, predvsem zaradi pojava novih in raznolikih področij uporabe. Čeprav je res, da so se ti jeziki v začetku uporabljali v bistvu za obdelavo velikih količin podatkov in izvajanje določenih numeričnih izračunov.

Zdaj se programski jeziki uporabljajo skoraj na vseh družbenih področjih, ki med drugim vključujejo številne vidike upravljanja baz podatkov, ustvarjanje slik in celo umetno inteligenco.

V glavnem je rojstvo novih tehnologij programskega inženiringa povzročilo porast programskih jezikov, ki jih bomo videli spodaj.

Objektno usmerjeni programski jeziki

To so jeziki, namenjeni integraciji podatkov in programčkov v razrede. Ti lahko podedujejo lastnosti drugih preoblikovanih kod in povzročijo nove značilnosti, ki vodijo tudi do nove metodologije programiranja.

Uvrstitev

Kot bomo videli kasneje, obstaja več programskih jezikov, ki se odzivajo na objektno usmerjeno paradigmo. Glede na način izvajanja so razdeljeni na:

  • Ko izvajajo vedenje: zajema jezike, ki temeljijo na razredih, prototipih ali primerih.
  • Ko izvajajo ustvarjanje objektov: Temeljijo na času izvajanja v območju dinamičnega pomnilnika ali času sestavljanja sklada.
  • Glede na preverjanje tipa: Nanaša se na preverjanje med sestavljanjem ali preverjanje med izvajanjem.

Med glavnimi objektno usmerjenimi jeziki imamo:

kaj je objektno usmerjeno programiranje

Majhen pogovor

Programira se lahko le pod paradigmo objektno usmerjenega programiranja. To je jezik, ki temelji na razredih in med izvajanjem oblikuje objekte na območju dinamičnega pomnilnika. Preverjanje tipov izvaja le med izvajanjem, to je jezik dinamičnega preverjanja.

Java

Je eden najpogosteje uporabljenih jezikov danes, je popolnoma objektno naravnan, s skladnjo, podobno C in C ++. Je neodvisen od platforme.

Tako kot Smalltalk je tudi jezik, ki temelji na razredih in ustvarja predmete v dinamičnem pomnilniškem območju med izvajanjem, vendar ne preverja tipov v času izvajanja, temveč v času prevajanja, s to razliko, da ustvari vmesno neizvedljivo kodo, prihaja iz predkompilacije. Zaradi tega je jezik za statično preverjanje.

Objektno usmerjeno programiranje Java delujejo na navideznem stroju, specializiranem za to vrsto jezika, ki deluje, kot da je računalnik, zato omogoča njihovo izvajanje brez potrebe po spreminjanju. Ta vrsta stroja se imenuje tolmač.

Objektno usmerjeno programiranje

JavaScript

Za razliko od Smalltalka in Jave je to jezik, ki se opira na izdelavo prototipov ali primere. Razlaga se brez tipov, torej ne izvaja preverjanj tipa niti med izvajanjem niti med prevajanjem. Ustvarja predmete v dinamičnem pomnilniškem območju med izvajanjem. Ker nima kompilacije, postane dinamično preverjen jezik.

To je močan jezik, zahvaljujoč prenosljivosti in integraciji ter standardnim in preprostim tehnikam programiranja. Z drugimi besedami, JavaScript je koda, vdelana v spletno stran, katere namen je izboljšati dinamiko te strani.

C + +

Predstavlja povečanje tradicionalnega jezika C, tako da absorbira prednosti tega jezika in vključuje podporo za predmete. Čeprav zajema tri različne programske paradigme, kot so: strukturirano programiranje, generično programiranje in objektno usmerjeno programiranje, je bil on tisti, ki je vodil prehod iz strukturirane paradigme v objektno usmerjeno paradigmo.

Je vsestranski jezik, ki se zelo pogosto uporablja med programerji aplikacij, tako v sistemu Windows kot v sistemu GNU Linux. Ustvarja predmete v dinamičnem pomnilniku med izvajanjem. V osnovi se osredotoča na zmogljivost, prenosljivost in abstrakcijo. Njegova glavna pomanjkljivost je, da se pri prevajanju ustvari izvršljiva datoteka, katere koda velja samo za platformo, na kateri je bila izvedena kompilacija. Po drugi strani pa kot izvršljiv jezik ni neodvisen od platforme.

C#

To je programski jezik, ki deluje med izvajanjem in je vključen v platformo .NET, ki vam omogoča skupno rabo in prepoznavanje vaših knjižnic. Je popolnoma objektno usmerjen in omogoča ustvarjanje vseh vrst aplikacij.

Predstavlja evolucijo jezikov C in C ++, ki odpravlja zapletenost slednjih, saj je zaradi sprejetja predkompilacije enostavnejša za uporabo in zmanjšuje možnost napak med delovanjem.

Objektno usmerjeno programiranje

Python

Je večplatformni jezik, večinoma objektno naravnan, zajema pa druge paradigme, kot so imperativno programiranje, funkcionalno programiranje in aspektno usmerjeno programiranje.

Njegova čista skladnja, ki je zelo blizu naravnemu jeziku, daje prednost branju njegove kode. Zelo priporočljivo je začeti v svetu programiranja.

Izvaja se prek vmesnega programa, to je prek tolmača. Ker je napol interpretiran jezik, je prilagodljiv in prenosljiv. Dinamično je tipkan, kar pomeni, da se podatkovni tip določi med izvajanjem.

Pascal

Trenutno je to jezik, ki se pri poučevanju programiranja uporablja par excellence. Ima preprosto skladnjo z visoko strukturiranim jezikom, ki olajša branje in interpretacijo programov. Njegovo sestavljanje je mogoče na katerem koli računalniku, ki ima prevajalnik Pascal.

Kljub temu, da je strukturiran jezik, dovoljuje objektno usmerjeno programiranje s svojo različico Turbo Pascal. Ima integrirano okolje, iz katerega je mogoče pisati programe in jih preizkušati. Končno je Pascal jezik splošnega namena.

Če je tema, ki vas zanima, povezana s programiranjem, vas vabim, da preberete Kaj je algoritem pri programiranju?


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Blog Actualidad
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.