RačunalaProgramiranje

PLO - što je to? Osnovna načela objektno-orijentirano programiranje

Zašto objektno-orijentirano programiranje poželjna je u većini projekata? PLO nudi učinkovit način da se bave njihovu složenost. Umjesto da se program kao niz izvršnih instrukcija, što ga predstavlja kao skupina objekata s određenim svojstvima i proizvesti ih s određenim akcijama. To rezultira jasnijim, više pouzdan i legkosoprovozhdaemyh aplikacija.

Osnovna načela objektno-orijentirano programiranje (OOP) nastaju zbog ograničenja su pronađeni u već postojećim pristupima. Među njima - neograničen pristup podacima i veliki broj linkova koji nameću ograničenja na promjene. Njihova svijest i uzroci važno razumjeti što OOP programiranje i koje su njegove prednosti.

proceduralni jezici

C, Pascal, Fortran i slični jezici su proceduralne. To je, svaki od operatora govori računalu da učini nešto: da biste dobili podatke, zbrojiti brojeve, podijeljenih u šest, rezultat se prikazuje. Dodatak proceduralni jezik popis uputa. Ako je mala, nema druge organizacijsko načelo (često se naziva paradigma) nije potrebna. Programer stvara popis uputa, a računalo ih izvršava.

Razdvajanje dužnosti

Kada programi postali težak popis zavoja. Malo se može razumjeti više od nekoliko stotina upute dok su grupirani. Iz tog razloga, funkcija je način da se zahtjev razumljiviji svojim tvorcima. U nekim jezicima, isti koncept se može nazvati potprograme ili postupaka.

Aplikacija je podijeljena u funkcijama, od kojih svaka ima jasno definiranu svrhu i sučelje.

Ideja o razdvajanju postupaka može biti proširen u veći grupiranje predmeta naziva modula, ali princip je analogna: grupiranje komponente koje nose popise dokumenta.

Razdvajanje funkcija i modula - jedan od kamena temeljaca strukturiranog programiranja, koji već nekoliko desetljeća do PLO je ona postavlja paradigmu.

strukturirani problemi programiranje

Kao aplikacije postaju veće, strukturirano programiranje počinje nailaziti na poteškoće. Projekti postao previše složen. pomaknut grafike. To uključuje veliki broj programera. Složenost je narasla. Troškovi snimanja gore, raspored je dodatno pomaknuo, pa kad bi došao kolaps.

Analiza uzroka kvarova otkriva nedostatke proceduralne paradigme. Bez obzira na to koliko je dobro strukturiran provode programski pristup, velike aplikacije postaju pretjerano složen.

Koji su uzroci tih problema povezanih s proceduralnim jezicima? Prvo, funkcije imaju neograničen pristup globalnim podacima. Drugo, nevezano postupke i loše vrijednosti simulirati stvarni svijet.

Ako uzmemo u obzir ova pitanja u kontekstu inventar računovodstveni softver, jedan od najvažnijih elemenata globalne podataka je skup SKU. Različite funkcije može se odnositi na njih unijeti nove vrijednosti, to se prikazuje, promjene i tako. D.

neograničen pristup

Program napisan, na primjer, u C, postoje dvije vrste podataka. Lokalni skriven u funkciji i druge postupke ne koriste.

Kada dvije ili više funkcija imaju pristup istim podacima, potonji mora biti globalna. Takav je, na primjer, uzima u obzir podatke o subjektima. Globalni podaci mogu biti bilo koji raspoloživi postupak.

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

Takav veliki broj veza uzrokuje nekoliko problema. Prvo, to komplicira razumijevanje strukture programa. Drugo, teško promijeniti. Promjena globalne točke podataka mogu zahtijevati prilagodbu svim funkcijama koje imaju pristup do njega.

Na primjer, u program računovodstvo netko odluči da obračunava predmet broj bi trebao sastojati nisu od 5 znamenki, a od 12. To će zahtijevati promjenu vrste podataka od kratkih do dugo. Sada povezana s funkcija kod mora se mijenjati za rad s novom formatu.

Kada su elementi se mijenjaju u većoj primjeni, teško je reći što postupci imati pristup do njih. No, čak i ako je taj lik, promjena može rezultirati nepravilnom radu s drugim globalnim podacima. Sve je povezano sa svim ostalim, pa promjena na jednom mjestu obiti o glavu u drugu.

Modeliranje stvarnog svijeta

Drugi i važniji problem proceduralne paradigme je da njegov položaj specifični podaci i funkcije loše simulira ono što u stvarnom svijetu. Ovdje se radi o predmetima kao što su ljudi ili auta. Oni su kao bez podataka ili funkcije. Složeni stvarnom svijetu objekti imaju atribute i ponašanje.

atributi

Primjeri atributa (ponekad se nazivaju svojstva) za ljude su boja očiju i naziv radnog mjesta, za auto - snaga i broj vrata. Kao što se ispostavilo, atributi stvarnom svijetu ekvivalent podacima u programu. Oni imaju određene vrijednosti, kao što su plava (boje očiju) ili četiri (broj vrata).

ponašanje

Ponašanje - je da su u stvarnom svijetu predmeti proizvedeni u odgovoru na nekakav utjecaj. Ako pitate šefa za povećanje plaća, odgovor je „da” ili „ne”. Ako pritisnete na kočnice, automobil će se zaustaviti. I zaustavljanje iskaza ponašanja su primjeri. Ponašanje sličan postupak: to se zove nešto učiniti, i to tako. Dakle, podaci i funkcije sami po sebi ne modelirati stvarnom svijetu objekata učinkovito.

Obraćajući

Objekt u OOP, predstavljen je kao skup podataka i funkcija. Samo procedure koje se nazivaju funkcije članice u C ++, dozvoljavaju da se dobije svoju vrijednost. To su skriveni i zaštićeni od promjena. Značenja i funkcije zatvoreni u jednu. Ovijanje i upryatyvanie - osnovni pojmovi u opisu objekta orijentiranih jezika.

Ako želite promijeniti podatke, to ne zna točno što funkcionira u interakciji s njima. Niti jedan drugi postupci ne mogu pristupiti im. To pojednostavljuje pisanje, ispravljanje pogrešaka i održavanje programa.

Zahtjev se obično sastoji od nekoliko objekata koji su u interakciji jedni s drugima, uzrokujući funkcije članova.

Danas je najkorišteniji jezik OOP (objektno-orijentirano programiranje) - C ++ (plus plus). U Java nema neke značajke kao što upućuje, predloške i višestrukog nasljeđivanja, što ga čini manje snažan i svestran nego C ++. C # još nije dosegla popularnost C ++.

Treba napomenuti da je tzv funkcije članice u C ++ zove metoda u nekim drugim objektno orijentiranih jezika kao što su Smalltalk. Stavke podataka nazivaju se atributi. Pozivanje metodu objekta šalje mu poruke.

analogija

Možete zamisliti predmete odjela tvrtke. U većini organizacija, radnici ne rade jedan dan s domaćinom, sljedeći prekomjerno plaće, a onda tjedan dana sudjelovali u trgovini na malo. Svaki odjel ima svoje osoblje, s jasno dodijeljene dužnosti. Ima vlastiti podaci: pokazatelji plaća, prodaje, računovodstva osoblja, itd Ljudi u odjelima rade sa svojim podacima ... Podjela društva, dakle, olakšava kontrolu svojih poslova i održava integritet podataka. Računovodstvo je odgovoran za plaće. Ako želite znati ukupan iznos plaće isplaćene u južnom ogranku u srpnju, ne treba kopati u arhivu. Dovoljno je poslati poruku da odgovorne osobe, čekati dok ta osoba ima pristup podacima i šalje odgovor na tražene podatke. Time se osigurava poštivanje propisa i nedostatak vanjskog uplitanja. Na isti način objekt u PLO pruža organizacijsku primjenu.

To treba imati na umu da je orijentacija objekata ne odnosi na detalje programa rada. Većina Upute C ++ operatore odgovara proceduralnim jezicima kao što su C U stvari, funkcije članice u C ++ su vrlo slične funkcije u C samo širi kontekst omogućit će utvrditi da li je nastava proceduralne ili objektno-orijentirani.

Objekt u OOP: Definicija

Kada se s obzirom na problem programiranja u objektno orijentiranog jezika, umjesto pitanja o njezinoj podjeli u posebne funkcije je problem u objektima separacije. OOP razmišljanje je puno lakše za razvoj aplikacija. To je zbog sličnosti softvera i stvarnih objekata.

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

Fizički objekt u OOP - je:

  • Modeli transport protoka;
  • električne komponente u sklopova programa;
  • Model gospodarstvo zemlje;
  • Zrakoplov u sustavu kontrole zračnog prometa.

Elementi okoliša korisnikovom računalu:

  • izbornik;
  • prozori;
  • grafika (crta, pravokutnik, krugova);
  • tipkovnica, miš, pisač, diskovi.

ljudi:

  • radnici;
  • studenti;
  • korisnici;
  • prodavači.

informacije:

  • knjigovodstvo;
  • privatna stvar;
  • rječnika,
  • Tablica geografske širine i dužine naselja.

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

klasa

Objekti u PLO - član klase. Što to znači? Programski jezici imaju ugrađene tipove podataka. Vrsta int, t, E. cijeli broj koji je unaprijed određen u C ++. Možete objaviti bilo koji broj int varijabli.

Isto tako, više predmeta definirano jedne klase. Ona definira funkcije i podaci sadržani u svojim objektima, a ne njihovo stvaranje, kao i int ne stvara varijabli.

Klasa u PLO - opis u nizu sličnih objekata. Princ, Sting i Madonna su bili i pjevači. Ne postoji nitko s tim imenom, ali ljudi mogu zvati tako, ako imaju odgovarajuće karakteristike. OOP objekt - to slučaj.

baština

U životu, razredi su podijeljeni u podklase. Na primjer, životinje su podijeljene u vodozemaca, sisavaca, ptica, insekata i sl. D.

Princip ove vrste podjele je da svaki podrazred ima zajedničke značajke s klasa iz koje. Svi automobili imaju kotače i motor. To je definiraju karakteristike vozila. Osim općih karakteristika svakog podrazreda ima svoje karakteristike. Postoje mnoge autobusne sjedala i kamioni imaju prostor za nošenje teških tereta.

Slično tome, osnovna klasa može biti podrazred roditelj nekoliko derivati koji se mogu definirati, tako da će podijeliti svoje karakteristike uz dodatak. Nasljeđivanje kao funkcija, pojednostavljenje proceduralni program. Ako je nekoliko dijelova koda rade manje-više isti, možete izdvojiti zajedničke elemente i stavio ih u jednom postupku. Tri područje primjene može pozvati funkciju za izvođenje uobičajenih radnji, ali oni mogu proizvesti i vlastiti rad. Slično tome, bazna klasa sadrži informacije zajednički skupinu derivata. Slična funkcija smanjuje baštinu objektno orijentiranog programa i razjasniti odnos njegovih elemenata.

recikliranje

Nakon što je klasa je stvorio i debugiran, može se prenijeti na druge programera za ponovno u svojim aplikacijama. To je kao biblioteka funkcija koje se mogu uključiti u različite svrhe.

U OOP, nasljedstvo je proširenje ideje višekratnu uporabu. Iz postojeće klase, bez da ga mijenja, možemo formirati novu s dodatkom drugih funkcija. Jednostavnost ponovno korištenje postojećeg softvera - važan prednost PLO. Smatra se da to daje veću profitabilnost početno ulaganje.

Stvaranje novih vrsta podataka

Sadržaji pogodni za stvaranje nove vrste podataka. Pretpostavimo da program koristi dvodimenzionalne vrijednosti (npr koordinate ili zemljopisne širine i dužine), a imaju želju izraziti djelovanje aritmetici na njih:

position1 = položaj + podrijetla,

gdje position1, položaj i podrijetlo - par nezavisnih brojčane vrijednosti. Stvaranje klasa koja uključuje ove dvije vrijednosti, te različite izjave svojih objekata stvara novi tip podataka.

Polimorfizam, preopterećenja

Operatori = (jednako), i + (plus) koji se koriste u aritmetici pozicijski gore ne djeluju, kao i izgrađen-in vrsta, kao što int. predmeti položaj, i dr. nije unaprijed određen i postavio softvera. Kako ovi operateri znaju kako postupati s njima? Odgovor leži u činjenici da novi ponašanje može se postaviti za njih. Ove operacije će biti član funkcije klase pozicija.

Korištenje operatora ili postupke, ovisno o tome što oni rade se zove polimorfizam. Kada je operator, kao što su + ili =, dobiva priliku raditi s novom vrstom podataka, on kaže da je preopterećen. Preopterećenje u PLO - vrsta polimorfizma. To je njegova važna značajka.

Knjiga o PLO „objektno-orijentirano programiranje za početnike” omogućit će svi upoznati s ovom temom u više detalja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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