DatamaskinerProgrammering

PLO - hva er dette? De grunnleggende prinsipper for objektorientert programmering

Hvorfor objektorientert programmering er å foretrekke i de fleste prosjekter? PLO har en effektiv måte å håndtere sin kompleksitet. I stedet for å vurdere et program som en sekvens av kjørbare instruksjoner, det representerer det som en gruppe av objekter med visse egenskaper og produsere dem med visse handlinger. Dette resulterer i et klarere, mer pålitelige og legkosoprovozhdaemyh applikasjoner.

De grunnleggende prinsipper for objektorientert programmering (OOP) dannet fordi restriksjonene har blitt funnet i pre-eksisterende tilnærminger. Blant dem - ubegrenset tilgang til data og et stort antall lenker, som pålegger restriksjoner på endringen. Deres bevissthet og årsaker viktig å forstå hva OOP programmering og hva er dens fordeler.

prosessuelle språk

C, Pascal, FORTRAN, og tilsvarende språk er prosessuelle. Det vil si at hver av operatøren forteller datamaskinen til å gjøre noe: å få data, legge sammen tallene, fordelt på seks, resultatet vises. Vedlegg prosessuelle språk er instruksjon listen. Hvis det er lite, er ingen andre organiserende prinsipp (ofte referert til som et paradigme) ikke nødvendig. Programmereren oppretter en liste med instruksjoner, og datamaskinen utfører dem.

Separasjon av funksjoner

Når programmer blir mer tungvint liste over svinger. Få kan forstå mer enn noen få hundre instruksjoner før de er gruppert. Av denne grunn, funksjonen var måten å gjøre programmet mer forståelig for sine skapere. I noen språk, kan det samme konseptet kalles subrutiner eller prosedyrer.

Programmet er delt inn i funksjoner, som hver har et klart definert formål og grensesnitt.

Ideen om separasjon av prosedyrer kan utvides til en større gruppering av objekt kalt en modul, men prinsippet er analog: den gruppering av komponenter som bærer lister over dokumentet.

Separasjon av funksjoner og moduler - en av hjørnesteinene i strukturert programmering, som i flere tiår inntil PLO var positurer det paradigmet.

strukturerte programmeringsproblemer

Som programmer blir større, strukturert programmering begynner å oppleve vanskeligheter. Prosjekter blir for komplisert. skiftet grafikk. Det innebærer et stort antall programmerere. Kompleksiteten har vokst. Kostnader skyte opp, ble planen flyttet videre, og det kom sammenbruddet.

Analyse av årsaker til svikt viste mangler prosedyre paradigme. Uansett hvor godt strukturert gjennomført programmering tilnærming, store programmer blir uoversiktlig.

Hva er årsakene til disse problemene knyttet til prosessuelle språk? Først funksjonene har ubegrenset tilgang til globale data. For det andre, urelaterte prosedyrer og dårlige verdier simulere den virkelige verden.

Hvis vi ser på disse spørsmålene i sammenheng med inventar regnskapsprogrammer, en av de viktigste elementene i den globale data er et sett av D-pak. Forskjellige funksjoner kan referere til dem for å legge inn en ny verdi, det vises, endringer og så. D.

ubegrenset tilgang

Programmet er skrevet, for eksempel i C, er det to typer data. Lokal skjult i funksjon og andre prosedyrer brukes ikke.

Når to eller flere funksjoner har tilgang til de samme dataene, må sistnevnte være global. Sådan, for eksempel, er tatt hensyn til informasjon om fagene. De globale data kan være hvilken som helst tilgjengelig prosedyre.

I et stort program, er det mange funksjoner og mange globale elementer. Problemet med den prosessuelle paradigmet er at det fører til et større antall potensielle koblinger mellom dem.

Et slikt stort antall forbindelser fører til flere problemer. Først kompliserer den forståelsen av strukturen i programmet. Dernest vanskelig å endre. Endring i det globale dataelement kan kreve justering av alle funksjoner som har tilgang til den.

For eksempel, i programmet sto noen bestemmer seg for at regnskapsobjektkode bør bestå ikke fra 5 sifre, og fra 12. Dette vil kreve en endring datatypen fra kort til lang. Nå er knyttet til funksjonskode må endres for å jobbe med det nye formatet.

Når elementene er endret i et større program, er det vanskelig å si hvilke prosedyrer har tilgang til dem. Men selv om dette tallet, endre dem kan føre til feil bruk med andre globale data. Alt henger sammen med alt annet, så en endring på ett sted slå tilbake i en annen.

Modellering den virkelige verden

Den andre og mer viktig problem av prosessuelle paradigmet er at beliggenheten spesifikke data og fungerer dårlig simulerer ting i den virkelige verden. Her har vi å gjøre med gjenstander som folk eller biler. De er som ingen data eller funksjonen. Komplekse reelle objekter har egenskaper og atferd.

attributter

Eksempler på attributter (også kalt egenskaper) for folk er øyenfarge og navnet på innlegget, for en bil - kraften og antall dører. Som det viste seg, attributtene til den virkelige verden tilsvarer dataene i programmet. De har bestemte verdier, for eksempel blå (fargen på øynene) eller fire (antall dører).

oppførsel

Atferd - er at virkelige objekter produsert i respons til en slags effekt. Hvis du spør en sjef for lønnsvekst, er svaret "ja" eller "nei". Hvis du trykker på bremsen, bilen vil stoppe. Og stoppe ytringen atferd er eksempler. Atferd som ligner på prosedyren: den er kalt til å gjøre noe, og det gjør det. Dermed trenger de data og funksjoner i seg selv ikke modell virkelige objekter effektivt.

adressering

Objektet i OOP er representert som et sett av data og funksjoner. Bare de prosedyrer som er kalt medlemsfunksjoner i C ++, tillater å oppnå dens verdi. Disse er skjult og beskyttet mot endringer. Betydninger og funksjoner er kapslet inn i en. Innkapsling og upryatyvanie - grunnleggende begreper i beskrivelsen av objektorienterte språk.

Hvis du ønsker å endre data, den vet nøyaktig hvilke funksjoner samhandle med dem. Ingen andre prosedyrer kan ikke få tilgang til dem. Dette forenkler skriving, debugging og opprettholde programmet.

En applikasjon består vanligvis av flere objekter som reagerer med hverandre, bevirker organet funksjoner.

I dag, den mest brukte språket OOP (objektorientert programmering) - C ++ (pluss pluss). I Java mangler noen funksjoner som pekere, maler og multippel arv, noe som gjør det mindre kraftig og allsidig enn C ++. C # har ennå ikke nådd populariteten til C ++.

Det bør bemerkes at såkalte medlemsfunksjoner i C ++ kalt metoder i noen andre objektorienterte språk som Smalltalk. Dataelementene er kalt attributter. Kalle en metode av objektet sender ham meldinger.

analogi

Du kan forestille gjenstander av selskapet avdelinger. I de fleste organisasjoner, ikke ansatte jobbe en dag med de ansatte, følgende lading lønn, og deretter en uke engasjert i varehandelen. Hver avdeling har sin egen stab, med klart tildelte oppgaver. Det er egne data: indikatorer på lønn, salg, regnskap ansatte etc. Folk i avdelingene jobber med sin informasjon ... Delingen av selskapet derfor letter kontrollen av driften og opprettholder dataintegriteten. Regnskap er ansvarlig for lønn. Hvis du ønsker å vite den totale mengden av lønn utbetalt til den sørlige gren i juli, trenger ikke å dykke ned i arkivet. Det er nok til å sende et notat til den ansvarlige personen, vente til vedkommende har tilgang til dataene og sender svaret til den nødvendige informasjonen. Dette sikrer overensstemmelse med forskrifter og fravær av ytre forstyrrelse. På samme måte en gjenstand i PLO gir organisasjonen søknad.

Man må huske at orienteringen av objekter ikke gjelder detaljer om arbeidsprogrammet. De fleste instruksjoner C ++ operatørene svarer til de prosedyrespråk slik som C Faktisk, medlemsfunksjonene i C ++ er svært like funksjoner i C. Kun en bredere sammenheng tillater å fastslå hvorvidt instruksjonen eller objektorientert.

Objektet i OOP: Definisjon

Når det gjelder problemet med programmering i objektorientert språk i stedet for spørsmål om sin inndeling i separate funksjoner er et problem i separasjons fasiliteter. OOP tenkning er mye enklere å utvikle applikasjoner. Dette er på grunn av likheten av programvare og virkelige objekter.

Hva slags ting er objekter i OOP? Her er noen typiske kategorier.

Fysisk objekt i OOP - er:

  • transport strømningsmodeller;
  • elektriske komponenter i kretsen design programmer;
  • landets økonomi modell;
  • fly i flygestyresystemet.

Elementer av miljøet brukerens datamaskin:

  • meny;
  • vinduer;
  • grafikk (linje, rektangel, sirkel);
  • tastatur, mus, skriver, diskstasjoner.

mennesker:

  • arbeidere;
  • studenter;
  • kunder;
  • selgere.

informasjon:

  • bokføring;
  • en privat sak;
  • ordbok;
  • tabell over breddegrader og lengde av bosetninger.

Kommunikasjon av virkelige verden objekter og PLO var et resultat av en kombinasjon av funksjoner og data de har revolusjonert programmering. En slik tett kamp i prosessuelle språk der.

klasse

Objekter i PLO - et klassemedlem. Hva betyr det? Programmeringsspråk har innebygde datatyper. Type int, t. E. Et heltall som er forhåndsbestemt i C ++. Du kan erklære en rekke int variabler.

Tilsvarende vil en flerhet av objekter definert av en klasse. Det definerer funksjonene og de data som inngår i anleggene, ikke skape dem, så vel som en int ikke skaper variabler.

Klasse i PLO - en beskrivelse av et antall av lignende gjenstander. Prince, Sting og Madonna er sangerne. Det er ingen med det navnet, men folk kan kalles så, hvis de har de riktige egenskapene. OOP objekt - dette tilfellet.

arv

I livet, er klasser delt inn i undergrupper. For eksempel, blir dyrene oppdelt i amfibier, pattedyr, fugler, insekter og så videre. D.

Prinsippet for denne typen divisjon er at hver underklasse har fellestrekk med klassen fra der. Alle biler har hjul og en motor. Dette er de definerende karakteristikkene av kjøretøyene. I tillegg til de generelle egenskapene til hver underklasse har sine egne særtrekk. Det er mange buss seter og lastebiler har plass til å bære tung last.

På samme måte kan en basisklasse være en underklasse moder flere derivater som kan defineres slik at de har sine egne særtrekk med tilsetningen. Arv som funksjoner, forenkle prosessuelle program. Hvis flere deler av koden gjør ganske mye det samme, kan du trekke ut de vanlige elementene og sette dem i en prosedyre. Tre bruksområde kan ringe funksjon for å utføre vanlige handlinger, men de kan produsere og egen virksomhet. På samme måte inneholder den base klassen informasjon som er felles for gruppen av derivater. En lignende funksjon reduserer arv av objektorientert program og klargjøre forholdet av dens elementer.

resirkulering

Når klassen er opprettet og feilsøkt, kan det overføres til andre programmerere å bruke i dine egne applikasjoner. Det er som et bibliotek med funksjoner som kan inkluderes i forskjellige programmer.

I OOP, er arv en forlengelse av ideen om flere bruk. Fra en eksisterende klasse, uten å endre det, kan vi danne en ny en med tillegg av andre funksjoner. Den enkle gjenbruk av eksisterende programvare - en viktig fordel med PLO. Det antas at det gir en økende lønnsomhet av den opprinnelige investeringen.

Opprette nye datatyper

Fasiliteter som er egnet for etablering av nye datatyper. Anta at et program anvender to-dimensjonale verdier (f.eks koordinater eller breddegrad og lengdegrad), og har et ønske om å uttrykke virkningen av aritmetiske på dem:

position1 = posisjon + opprinnelse,

hvor position1, posisjon og opprinnelse - et par med uavhengige numeriske verdier. Opprette en klasse som inneholder disse to verdiene, og variabeldeklarasjoner sine objekter oppretter en ny datatype.

Polymorfisme, overbelastning

Operatører = (lik), og + (plus) som brukes i regneposisjons ovenfor ikke virker så vel som en innebygd typer, for eksempel int. Posisjons objekter og andre. Er ikke bestemt og satt av programvare. Hvordan vet disse operatørene ikke hvordan man skal håndtere dem? Svaret ligger i det faktum at ny atferd kan settes for dem. Disse operasjonene vil være medlem funksjoner klasse posisjon.

Ved hjelp av operatører eller prosedyrer avhengig av hva de arbeider kalles polymorfisme. Når det er en operatør, slik som + eller =, får muligheten til å jobbe med den nye datatypen, står det at det er overbelastet. Overbelastning i PLO - en slags polymorfisme. Det er det viktig funksjon.

En bok om PLO "Objektorientert programmering for Dummies" vil tillate alle å bli kjent med dette temaet nærmere.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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