DatorerProgrammering

PLO - vad är detta? De grundläggande principerna för objektorienterad programmering

Varför objektorienterad programmering är att föredra i de flesta projekt? PLO erbjuder ett effektivt sätt att ta itu med deras komplexitet. I stället för att betrakta ett program som en sekvens av exekverbara instruktioner utgör det det som en grupp av objekt med vissa egenskaper och producera dem med vissa åtgärder. Detta resulterar i en tydligare och mer tillförlitliga och legkosoprovozhdaemyh applikationer.

De grundläggande principerna för objektorienterad programmering (OOP) bildas på grund begränsningar har funnits i befintliga metoder. Bland dem - obegränsad tillgång till data och ett stort antal länkar som ställer restriktioner på förändringen. Deras medvetenhet och orsaker viktigt att förstå vad OOP programmering och vad är dess fördelar.

procedurspråk

C, Pascal, FORTRAN, och liknande språk är procedur. Det vill säga, var och en av operatören talar om för datorn att göra något: att få data, lägga ihop siffrorna, indelade i sex, resultatet visas. Appendix procedurspråket är instruktionslista. Om den är liten, är ingen princip annan organisations (ofta kallad en paradigm) inte behövs. Programmeraren skapar en lista med instruktioner och datorn utför dem.

Uppdelning av funktioner

När applikationer blir mer omständligt lista över svängar. Få kan förstå mer än ett par hundra instruktioner tills de är grupperade. Av denna anledning funktionen var sättet att göra programmet mer begriplig för dess skapare. I vissa språk, kan samma koncept kallas subrutiner eller förfaranden.

Appen är uppdelad i funktioner, vilka vardera har ett klart definierat syfte och gränssnitt.

Idén om separation av förfaranden kan expanderas till en större gruppering av objekt som kallas en modul, men principen är analog: gruppering av komponenter som bär listor av dokument.

Uppdelning av funktioner och moduler - en av hörnstenarna för strukturerad programmering, som under flera decennier tills PLO var den medför paradigm.

strukturerade programmeringsproblem

Som applikationer blir större, strukturerad programmering börjar uppleva svårigheter. Projekt blir alltför komplicerad. skiftade grafik. Det handlar om ett stort antal programmerare. Komplexiteten har ökat. Kostnader skjuter upp, schemat förskjuts ytterligare, och det kom kollapsen.

Analys av orsaker till misslyckanden avslöjat brister procedur paradigm. Oavsett hur väl strukturerad genomfört tillvägagångssätt programmering, stora applikationer blir alltför komplexa.

Vilka är orsakerna till dessa problem som är förknippade med arbetsspråk? Först funktionerna ha obegränsad tillgång till globala data. För det andra, orelaterade förfaranden och dåliga värden simulera den verkliga världen.

Om vi betraktar dessa frågor i samband med inventering bokföringsprogram, är en av de viktigaste delarna av den globala uppgifter en uppsättning SKU. Olika funktioner kan hänvisa till dem att ange ett nytt värde, det visas, förändringar och så. D.

obegränsad tillgång

Programmet skrivet, till exempel, i C, finns det två typer av data. Lokal gömda i funktion och andra förfaranden används inte.

När två eller flera funktioner har tillgång till samma uppgifter, skall denna vara global. Sådan till exempel beaktas information om ämnen. De globala data kan vara någon tillgänglig procedur.

I ett stort program, det finns många funktioner och många globala element. Problemet med procedur paradigm är att det leder till ett större antal potentiella kopplingar mellan dem.

Ett så stort antal anslutningar orsakar flera svårigheter. Först försvårar det förståelsen av strukturen av programmet. För det andra, svårt att ändra. Förändring i den globala dataobjekt kan kräva justering av alla funktioner som har tillgång till det.

Till exempel i programmet redovisning någon beslutar att redovisas objektkoden bör bestå inte av 5 siffror och från 12. Detta kommer att kräva en förändring datatyp från korta till långa. Nu i samband med funktionskoden måste modifieras för att arbeta med det nya formatet.

När elementen ändras i en större applikation, är det svårt att säga vilka förfaranden har tillgång till dem. Men även om denna siffra, ändra dem kan leda till felaktig funktion med andra globala data. Allt hänger ihop med allt annat, så en förändring på ett ställe slå i en annan.

Modellering den verkliga världen

Den andra och viktigare problemet med procedur paradigm är att dess platsspecifika data och funktioner simulerar dåligt saker i den verkliga världen. Här har vi att göra med föremål såsom människor eller bilar. De är som inga data eller funktionen. Komplexa verkliga objekt har attribut och beteenden.

attribut

Exempel på attribut (kallas ibland egenskaper) för människorna är ögonfärg och namnet på tjänsten, för en bil - kraften och antalet dörrar. Som det visade sig, attributen för den verkliga världen som motsvarar uppgifterna i programmet. De har specifika värden, såsom blått (ögonfärg) eller fyra (antalet dörrar).

beteende

Beteende - att verkliga objekt produceras som svar på någon typ av påverkan. Om du frågar en chef för löneökning, är svaret "ja" eller "nej". Om du trycker på bromsen, kommer bilen stannar. Och stoppa yttrande beteenden är exempel. Beteende som liknar förfarandet: det kallas att göra något, och det gör det. Således behöver data och funktioner i sig inte modellera verkliga föremål effektivt.

Adresse

Objektet i OOP representeras som en uppsättning data och funktioner. Endast de förfaranden som kallas medlemsfunktioner i C ++, möjliggör erhållande dess värde. Dessa är dolda och skyddade mot förändringar. Betydelser och funktioner är inkapslade i ett. Inkapsling och upryatyvanie - grundläggande termer i beskrivningen av objektorienterade språk.

Om du vill ändra uppgifterna, det vet exakt vilka funktioner interagerar med dem. Inga andra förfaranden inte kan komma åt dem. Detta förenklar skriva, felsökning och underhåll av programmet.

En applikation består typiskt av flera objekt som interagerar med varandra, vilket gör att medlemsfunktioner.

Idag, den mest använda språket OOP (objektorienterad programmering) - C ++ (plus plus). I Java saknar vissa funktioner som pekare, mallar och multipelt arv, vilket gör det mindre kraftfull och mångsidig än C ++. C # har ännu inte nått popularitet C ++.

Det bör noteras att så kallade medlemsfunktioner i C ++ kallas metoder i vissa andra objektorienterade språk såsom Smalltalk. Data poster är kallade attribut. Anropa en metod av föremålet sänder honom meddelanden.

analogi

Du kan föreställa sig föremålet för bolagets verksamhet avdelningar. I de flesta organisationer behöver de anställda inte arbetar en dag med personalen, följande överladdning lön, och sedan en vecka deltar i detaljhandeln. Varje avdelning har sin egen personal, med tydligt tilldelade uppgifter. Det finns egna data: indikatorer för löner, försäljning, redovisning personal, etc. Människor i avdelningar arbetar med sin information ... Uppdelningen av företaget därför underlättar kontrollen av verksamheten och upprätthåller dataintegritet. Redovisning är ansvarig för lönelistan. Om du vill veta den totala mängden av löner som betalas till den södra delen i juli, behöver inte gräva i arkivet. Det räcker med att skicka ett meddelande till den ansvariga personen, vänta tills den personen har tillgång till data och skickar svaret till den begärda informationen. Detta säkerställer regelefterlevnad och frånvaron av yttre störningar. På samma sätt ett föremål i PLO ger organisationen ansökan.

Man bör komma ihåg att orienteringen av föremål inte gäller detaljer i arbetsprogrammet. De flesta instruktioner C ++ operatörer motsvarar de procedurspråk såsom C. I själva verket, de medlemsfunktioner i C ++ är mycket lika funktioner i C. Endast ett större sammanhang kommer att tillåta att fastställa huruvida instruktionen procedur eller objektorienterat.

Objektet i OOP: Definition

När man överväger problemet med programmering i objektorienterat språk i stället för frågor om dess uppdelning i separata funktioner är ett problem i separationsanläggningar. OOP tänkande är mycket lättare att utveckla applikationer. Detta beror på likheten av programvara och verkliga föremål.

Vilken typ av saker är objekt i OOP? Här är några typiska kategorier.

Fysiskt objekt i OOP - är:

  • transportflödesmodeller;
  • elektriska komponenter i kretsdesignprogram;
  • landets ekonomi modell;
  • flygplan i flygkontrollsystemet.

Delar av miljön användarens dator:

  • meny;
  • fönster;
  • grafik (linje, rektangel, cirkel);
  • tangentbord, mus, skrivare, diskenheter.

människor:

  • arbetare;
  • studenter;
  • kunder;
  • säljare.

information:

  • bokföring;
  • en privatsak;
  • lexikon;
  • bord av latituder och longituder av bebyggelse.

Meddelande om verkliga världen objekt och PLO var resultatet av en kombination av funktioner och uppgifter som de har revolutionerat programmering. Så nära match i procedurspråk där.

klass

Objekt i PLO - en klassmedlem. Vad betyder det? Programmeringsspråk har inbyggd datatyper. Typ int, t. E. Ett heltal som är förutbestämd i C ++. Du kan deklarera valfritt antal int variabler.

På liknande sätt, ett flertal föremål som definieras av en klass. Det definierar de funktioner och uppgifter som ingår i sina anläggningar, inte skapa dem, liksom en int inte skapar variabler.

Klass i PLO - en beskrivning av ett antal liknande objekt. Prince, Sting och Madonna är sångare. Det finns ingen med det namnet, men folk kan kallas så, om de har lämpliga egenskaper. OOP objekt - detta är en instans.

arv

I livet, är klasser indelas i underklasser. Till exempel djur delas in amfibier, däggdjur, fåglar, insekter och så vidare. D.

Principen för denna typ av uppdelning är att varje underklass har gemensamma drag med den klass från vilken. Alla bilar har hjul och en motor. Detta är de definierande egenskaper hos fordonen. Utöver de allmänna egenskaperna hos varje underklass har sina egna egenskaper. Det finns många buss platser och lastbilar har utrymme att bära tunga laster.

På liknande sätt kan en basklass vara en underklass förälder flera derivat som kan definieras så att de kommer att dela sina egna egenskaper med tillsatsen. Arv som funktioner, förenkla procedur program. Om flera delar av koden gör ungefär samma, kan du extrahera de gemensamma elementen och lägg dem i en procedur. Tre applikationsområde kan anropa funktionen att utföra vanliga åtgärder, men de kan producera och den egna verksamheten. På liknande sätt, basklassen innehåller information som är gemensam för gruppen av derivat. En liknande funktion reducerar arvet av objektorienterade program och klargöra förhållandet av dess beståndsdelar.

återvinning

När klassen skapas och debuggade kan det överföras till andra programmerare att återanvända i dina egna applikationer. Det är som ett bibliotek med funktioner som kan ingå i olika applikationer.

I OOP är arv en förlängning av idén om flergångsbruk. Från en befintlig klass, utan att ändra det, kan vi bilda ett nytt med tillägg av andra funktioner. Enkelheten i återanvändning av befintlig programvara - en viktig fördel med PLO. Man tror att det ger en ökad lönsamhet av den ursprungliga investeringen.

Skapa nya datatyper

Anläggningar som lämpar sig för skapandet av nya datatyper. Antag att ett program använder tvådimensionella värden (t ex koordinater eller latitud och longitud), och har en önskan att uttrycka effekten av aritmetik på dem:

ståndpunkt1 = ställning + ursprung,

där ståndpunkt1, läge och ursprung - ett par oberoende numeriska värden. Skapa en klass som innehåller dessa två värden och variabeldeklarationer av sina föremål skapar en ny datatyp.

Polymorfism överbelastning

Operatörer = (lika) och + (plus) används i aritmetiska positions ovan inte agerar såväl som en inbyggd typer, såsom int. Positionera objekt samt andra. Är inte förutbestämd och inställd av programvara. Hur dessa aktörer vet hur man hanterar dem? Svaret ligger i det faktum att nya beteenden kan ställas in för dem. Dessa verksamheter kommer att vara medlem funktioner klassposition.

Använda operatörer eller procedurer beroende på vad de arbetar kallas polymorfism. När det finns en operatör, såsom + eller =, får möjlighet att arbeta med den nya datatypen, står det att det är överbelastad. Överbelastning i PLO - ett slags polymorfism. Det är dess viktigt inslag.

En bok om PLO "Objektorienterad programmering for Dummies" gör det möjligt för alla att bekanta sig med det här ämnet mer i detalj.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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