RačunalaProgramiranje

PLO - šta je ovo? Osnovni principi objektno orijentisanog programiranja

Zašto objektno-orijentirano programiranje se preferira u većini projekata? PLO nudi efikasan način da se bave složenosti. Umjesto da s obzirom na program kao niz izvršnih instrukcija, to predstavlja kao grupa objekata sa određenim svojstvima i proizvode ih određene radnje. To rezultira jasnije, pouzdaniji i legkosoprovozhdaemyh aplikacija.

Osnovni principi objektno orijentisanog programiranja (OOP) formirana zbog ograničenja su pronađeni u već postojeće pristupe. Među njima - neograničen pristup podacima i puno veza, koji nameću ograničenja na promjene. Njihova svijest i uzroci važno razumjeti što OOP programiranje i koje su njegove prednosti.

proceduralnih jezika

C, Pascal, FORTRAN, i sličnim jezicima su proceduralne. To je, svaki od operatora govori računar učiniti nešto: da biste dobili podatke, dodati brojeve, podijeljenih u šest, rezultat prikazan. Dodatak proceduralni jezik je lista instrukcija. Ako je mala, nije potrebna nijedna druga organiziranje princip (često naziva kao paradigma). Programer stvara liste instrukcija, a računar ih izvršava.

Razdvajanje funkcija

Kada aplikacije postali glomazni popis skretanja. Malo može shvatiti više od nekoliko stotina instrukcije dok su grupisani. Iz tog razloga, funkcija je bio način da se aplikacija više razumljivi njegovi tvorci. U nekim jezicima, isti koncept se može nazvati potprograma ili procedura.

Aplikacija je podijeljena na funkcije, od kojih svaki ima jasno definirane svrhe i sučelje.

Ideja razdvajanja procedura se može proširiti na veći grupisanje objekta zove modul, ali princip je analogan: grupisanje komponente koje nose liste dokumenta.

Razdvajanje funkcija i modula - jedan je od kamena temeljaca strukturiranog programiranja, koji već nekoliko decenija dok PLO je to predstavlja paradigmu.

strukturirani problemi programiranje

Kao aplikacije postaju veći, strukturiranog programiranja počinje da teškoća. Projekti postali previše složen. prebacuje grafiku. To uključuje veliki broj programera. Složenost je porastao. Troškovi pucaju, raspored je dalje prebacuje, a došlo je kolapsa.

Analiza uzroka kvarova otkrila nedostatke proceduralne paradigme. Bez obzira na to koliko dobro strukturiran implementira programski pristup, velike aplikacije postaju previše složen.

Koji su uzroci ovih problema u vezi sa proceduralnim jezicima? Prvo, funkcije imaju neograničen pristup globalnim podacima. Drugo, nevezano procedure i loše vrednosti simulira stvarni svijet.

Ako uzmemo u obzir ova pitanja u kontekstu robno softver, jedan od najvažnijih elemenata globalne podataka je skup SKU. Različite funkcije se može odnositi na njih da uđe u novu vrijednost, ona se prikazuje, promjene i tako. D.

neograničen pristup

Program napisan, na primjer, u C, postoje dvije vrste podataka. Lokalni skriveni unutar funkcije i druge procedure se ne koriste.

Kada se dva ili više funkcija imaju pristup istim podacima, drugi mora biti globalna. Kao što je, na primer, uzimaju se u obzir informacije o temama. Globalni podaci mogu biti na raspolaganju postupak.

U velikom programu, postoje mnoge mogućnosti i mnogi globalni elemenata. Problem proceduralne paradigme je u tome što dovodi do većeg broja potencijalnih veza između njih.

Ovako veliki broj veza uzrokuje više problema. Prvo, to otežava razumijevanje strukture programa. Drugo, teško mijenjaju. Promjene u globalnom podatak može zahtijevati prilagođavanje svih funkcija koje imaju pristup.

Na primjer, u programu čini neko odluči da čine predmet kod treba da se sastoji ne od 5 znamenki, a od 12. To će zahtijevati promjenu tipa podataka od kratkih do dugo. Sada povezana s funkcijom kod mora biti modifikovan da radi sa novom formatu.

Kada su elementi se mijenjaju u većem aplikacija, teško je reći šta procedure imaju pristup do njih. Ali čak i ako ta brojka, mijenja ih može dovesti do nepravilnog rada s drugim globalnim podacima. Sve je povezano sa svim ostalim, tako da promjene na jednom mjestu obiti o glavu u drugom.

Modeliranje stvarnom svijetu

Drugi i važniji problem proceduralne paradigme je da njegova lokacija određene podatke i funkcije loše simulira stvari u stvarnom svijetu. Ovdje se radi o predmetima kao što su ljudi ili automobila. Oni su kao nema podataka ili funkcija. Kompleks stvarnog svijeta objekti imaju atribute i ponašanje.

atributi

Primjeri atributa (ponekad se naziva svojstva) za ljude su boju očiju i naziv pošte, za auto - moć i broj vrata. Kako se ispostavilo, atribute stvarnom svijetu ekvivalent podacima u programu. Oni imaju specifične vrijednosti, kao što su plava (boja očiju) ili četiri (broj vrata).

ponašanje

Ponašanje - je da u stvarnom svijetu objekti su proizvedeni kao odgovor na neku vrstu utjecaja. Ako pitate šefa za povećanje plaća, odgovor je "da" ili "ne". Ako pritisnete na kočnice, automobil će se zaustaviti. I zaustavljanje iskaz ponašanja su primjeri. Ponašanje slično postupak: to se zove da uradi nešto, a to čini. Dakle, podaci i funkcije same po sebi ne model stvarnog svijeta objekte efikasno.

Obraćajući

Objekt u OOP se predstavlja kao skup podataka i funkcija. Samo procedure koje se nazivaju funkcije članice u C ++, omogućiti da dobiju svoju vrijednost. To su skriveni i zaštićeni od promjena. Značenja i funkcije su enkapsulirani u jednu. Inkapsulacija i upryatyvanie - osnovni pojmovi u opisu objekta orijentisanih jezika.

Ako želite promijeniti podatke, tačno zna šta funkcije u interakciji s njima. Nijedan drugi postupci ne mogu im pristupiti. Ovo pojednostavljuje pisanje, ispravljanje pogrešaka, i održavanje programa.

Aplikacija obično se sastoji od nekoliko objekata koji komuniciraju jedni sa drugima, zbog čega je funkcija člana.

Danas, jezik OOP najrasprostranjeniji (objektno orijentisano programiranje) - C ++ (plus plus). U Javi nedostaju neke funkcije kao što su pokazivači, predloške i više nasljedstva, što ga čini manje moćan i svestran nego C ++. C # još nije dostigla popularnost C ++.

Treba napomenuti da je tzv funkcije članice u C ++ pod nazivom metoda u nekim drugim objektno orijentisanih jezika, kao što su Smalltalk. Stavke podaci su pod nazivom atributa. Pozivanje metoda objekta mu šalje poruke.

analogija

Možete zamisliti objekte odjela kompanije. U većini organizacija, zaposleni ne rade jedan dan sa osobljem, sljedeće overcharging platu, a zatim danas bavi u trgovini na malo. Svaki odjel ima svoje osoblje, sa jasno dodijeljen dužnosti. Postoje vlastitih podataka: pokazatelji zarada, prodaja, računovodstvo osoblje, itd Ljudi u odjelima rade sa svojim informacijama ... Podjela društva, dakle, olakšava kontrolu nad svojim radom i održava integritet podataka. Računovodstvo je odgovoran za platnom spisku. Ako želite znati ukupan iznos isplaćenih zarada južnog kraka u julu, ne treba da se udubi u arhivu. Dovoljno je poslati poruku na odgovorne osobe, sačekajte da se ta osoba ima pristup podacima i šalje odgovor na traženu informaciju. Time se osigurava usklađenost sa propisima i odsustvo vanjskih utjecaja. Na isti način na koji se objekt u PLO pruža organizacija aplikacija.

Treba imati na umu da je orijentacija objekata se ne odnosi na detalje programa rada. Većina instrukcije C ++ operaterima odgovara proceduralnim jezicima, kao što su C. U stvari, funkcije člana u C ++ su vrlo slične funkcijama u C. Samo širem kontekstu će omogućiti da se utvrdi da li su instrukcije proceduralnih ili objektno orijentisan.

Objekt u OOP: Definicija

Kada se razmatra problem programiranja u objektno orijentisanom jeziku umjesto pitanja o podjeli u odvojene funkcije je problem u odvajanju objekata. OOP razmišljanje je mnogo lakše za razvoj aplikacija. To je zbog sličnosti softvera i realnih objekata.

Kakve stvari su objekti u OOP? Evo nekih tipičnih kategorija.

Fizički objekt u OOP - je:

  • modeli transport toka;
  • električne komponente u programima krug dizajn;
  • model ekonomiju zemlje;
  • avion u kontrole letenja sistema.

Elemente životne sredine računaru korisnika:

  • meni;
  • prozora;
  • grafika (linije, pravougaonik, krug);
  • pogoni tastatura, miš, pisač, disk.

ljudi:

  • radnici;
  • studenata;
  • kupaca;
  • prodavci.

informacije:

  • knjigovodstvo;
  • privatna stvar;
  • rječnik;
  • tablicu geografskim širinama i dužina naselja.

Komunikacija stvarnom svijetu objekata i PLO je rezultat kombinacije funkcija i podatke koje su revoluciju u programiranje. Takav bliski susret u proceduralnim jezicima tamo.

razred

Objekti u PLO - član klase. Šta to znači? Programski jezici su ugrađene tipove podataka. Tip int t. E. se cijeli broj koji je predodređen u C ++. Možete proglasiti bilo koji broj int varijabli.

Slično tome, mnoštvo objekata definisan jedan čas. Definira funkcija i podatke koji su uključeni u svojim objektima, a ne da ih stvaraju, kao i int ne stvara varijable.

Klase u PLO - opis niz sličnih objekata. Prince, Sting i Madonna su pjevači. Nema nikoga pod tim imenom, ali ljudi ne mogu nazvati tako, ako imaju odgovarajuće karakteristike. OOP objekta - ovom slučaju.

nasljeđe

U životu, nastava se dijele na podklase. Na primjer, životinje su podijeljene u vodozemaca, sisara, ptica, insekata i tako dalje. D.

Princip ove vrste podjele je da svaki podklasa ima zajedničke karakteristike s klasom iz koje se. Svi automobili imaju kotače i motor. Ovo je definiranje karakteristikama vozila. Pored opštih karakteristika svakog potklasa ima svoje karakteristike. Postoji mnogo autobus sjedala i kamiona imaju prostor za nošenje teških tereta.

Slično tome, osnovne klase može biti podklase roditelja nekoliko derivate koji se može definirati tako da će dijeliti svoje karakteristike uz dodatak. Nasljeđivanje poput funkcije, pojednostavljujući proceduralne program. Ako je nekoliko dijelova koda rade gotovo isti, možete izdvojiti zajedničkih elemenata i stavio ih u jedan postupak. Tri područje aplikacija može pozvati funkciju za obavljanje zajedničke akcije, ali oni mogu proizvesti i njegove operacije. Slično tome, osnovna klasa sadrži informacije zajedničke grupe derivata. Slična funkcija smanjuje baština objektno-orijentiran programski i razjasniti odnos njegovih elemenata.

recikliranje

Kada se kreira i debagovani klase, može se prenijeti na druge programere ponovo koristiti u svojim aplikacijama. To je kao biblioteka funkcija koje mogu biti uključeni u različitim aplikacijama.

U OOP, nasljeđe je proširenje ideje višestruke koristi. Iz postojeće klase, bez promjene, možemo formirati novu uz dodatak drugih funkcija. Jednostavnost ponovno korištenje postojećih softvera - što je važna prednost PLO. Smatra se da ona pruža sve veći profitabilnosti početne investicije.

Stvaranje novih tipova podataka

Objekti pogodan za stvaranje novih tipova podataka. Pretpostavimo da program koristi dvodimenzionalni vrijednosti (npr koordinata ili širine i dužine), a imaju želju da izrazi radnju aritmetike na njih:

position1 = položaj + porijekla,

gdje position1, položaj i porijeklu - par nezavisnih numeričkih vrijednosti. Stvaranje klase koja uključuje ove dvije vrijednosti, i varijabilni deklaracije svojih objekata stvara novi tip podataka.

Polimorfizam, preopterećenja

Operatori = (jednako), i + (plus) koji se koristi u aritmetici položajne gore ne ponašaju kao i ugrađeni tipovi, kao što je int. Položaj objekata, i dr. Zar predodređena i postavio softvera. Kako ovi operateri znaju kako sa njima? Odgovor leži u činjenici da nova ponašanja se može podesiti za njih. Ove operacije će biti član funkcije klasnu poziciju.

Upotreba operatora ili postupaka ovisno o tome što oni rade se zove polimorfizam. Kada postoji operatora, kao što su + ili =, dobije priliku da radi sa novim tipom podataka, piše da je preopterećen. Preopterećenja u PLO - neka vrsta polimorfizam. To je njegova važna karakteristika.

Knjiga na PLO "Objektno orijentisano programiranje za neupućene" će omogućiti svima da se upoznaju sa ovom temom više detalja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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