ComputereProgrammering

PLO - hvad er det? De grundlæggende principper for objektorienteret programmering

Hvorfor objektorienteret programmering er foretrukket i de fleste projekter? PLO tilbyder en effektiv måde at håndtere deres kompleksitet. I stedet for at overveje et program som en sekvens af eksekverbare instruktioner, det repræsenterer det som en gruppe af objekter med bestemte egenskaber og producere dem med bestemte handlinger. Dette resulterer i en klarere, mere pålidelige og legkosoprovozhdaemyh applikationer.

De grundlæggende principper for objektorienteret programmering (OOP) dannet, fordi der er fundet begrænsninger i allerede eksisterende tilgange. Blandt dem - ubegrænset adgang til de data og et stort antal links, der pålægger restriktioner på ændringen. Deres bevidsthed og årsager vigtigt at forstå, hvad OOP programmering og hvad er dens fordele.

proceduremæssige sprog

C, Pascal, FORTRAN, og lignende sprog er proceduremæssige. Det vil sige, hver af operatøren fortæller computeren at gøre noget: at få data, tilføje op de numre, opdelt i seks, det viste resultat. Appendiks proceduremæssige sprog er instruktion listen. Hvis det er lille, er ingen anden organiserende princip (ofte omtalt som et paradigme) ikke påkrævet. Programmøren opretter en liste af instruktioner, og computeren udfører dem.

Adskillelse af funktioner

Når programmer bliver mere besværlig liste omgange. Kun få kan forstå mere end et par hundrede instruktioner, indtil de er grupperet. Af denne grund, den funktion var den måde at gøre anvendelsen mere forståelig for dens skabere. I nogle sprog, kan det samme koncept kaldes underprogrammer eller procedurer.

App er opdelt i funktioner, som hver har en klart defineret formål og interface.

Ideen med opdeling af procedurerne kan udvides til en større gruppering af objekt kaldet et modul, men princippet er analog: gruppering af komponenter, der bærer lister over dokumentet.

Adskillelse af funktioner og moduler - en af hjørnestenene i struktureret programmering, som i flere årtier, indtil PLO var det udgør paradigme.

strukturerede programmeringsproblemer

Som applikationer bliver større, struktureret programmering begyndt at opleve problemer. Projekter bliver for kompliceret. forskudt grafik. Det indebærer et stort antal programmører. Kompleksiteten er vokset. Omkostninger skyder op, blev tidsplanen flyttet videre, og der kom sammenbruddet.

Analyse af årsagerne til den manglende afsløret mangler proceduremæssige paradigme. Uanset hvor godt struktureret implementeret programmering tilgang, store applikationer bliver alt for kompliceret.

Hvad er årsagerne til disse problemer forbundet med proceduremæssige sprog? Først funktionerne har ubegrænset adgang til globale data. For det andet, ikke-relaterede procedurer og dårlige værdier simulere den virkelige verden.

Hvis vi betragter disse spørgsmål i forbindelse med opgørelse regnskabs software, en af de vigtigste elementer i den globale data er et sæt af varenumre. Forskellige funktioner kan referere til dem for at indtaste en ny værdi, det vises, ændringer og så. D.

ubegrænset adgang

Programmet skrevet, for eksempel i C, er der to typer af data. Lokale skjult i funktion og andre procedurer anvendes ikke.

Når to eller flere funktioner har adgang til de samme data, skal denne være global. En sådan, for eksempel, der tages hensyn til oplysninger om de emner. De globale data kan være enhver tilgængelig procedure.

I et stort program, der er mange funktioner og mange globale elementer. Problemet med den proceduremæssige paradigme er, at det fører til et større antal potentielle forbindelser mellem dem.

Et så stort antal forbindelser forårsager flere problemer. For det første komplicerer forståelse af strukturen af programmet. For det andet, svært at ændre. Ændring i den globale dataelement kan kræve justering af alle funktioner, der har adgang til det.

For eksempel, i programmet tegner nogen beslutter at tegnede objekt koden skal bestå ikke på 5 cifre, og fra 12. Dette vil kræve en ændring datatypen fra kort til lang. Nu er forbundet med funktionen koden skal ændres til at arbejde med det nye format.

Når elementerne er ændret i en større ansøgning, er det svært at sige, hvad procedurer har adgang til dem. Men selv om dette tal, ændre dem kan resultere i forkert betjening med andre globale data. Alt er forbundet med alt andet, så en ændring i ét sted bagslag i en anden.

Modellering den virkelige verden

Den anden og vigtigere problem af den proceduremæssige paradigme er, at dens placering specifikke data og funktioner dårligt simulerer de ting i den virkelige verden. Her har vi at gøre med objekter som personer eller biler. De er ligesom ingen data eller funktionen. Komplekse virkelige verden objekter har egenskaber og adfærd.

attributter

Eksempler på attributter (også kaldet egenskaber) for folk er øjenfarve og navnet på posten, for en bil - den magt og antal døre. Da det viste sig, attributterne for den virkelige verden svarende til dataene i programmet. De har særlige værdier, såsom blå (øjenfarve) eller fire (antallet af døre).

adfærd

Adfærd - er, at den virkelige verden objekter er produceret som reaktion på en eller anden form for indflydelse. Hvis du spørger en chef for lønstigning, er svaret "ja" eller "nej". Hvis du trykker på bremsen, vil bilen stopper. Og stop ytringsklasserne adfærd er eksempler. Adfærd ligner proceduren: den er kaldet til at gøre noget, og det gør det. Således har de data og funktioner i sig selv ikke modellere den virkelige verden objekter effektivt.

Adressering

Objektet i OOP er repræsenteret som et sæt af data og funktioner. Kun de procedurer, der er kaldt medlem funktioner i C ++, gør det muligt at opnå dens værdi. Disse er skjult og beskyttet mod ændringer. Betydninger og funktioner er indkapslet i ét. Indkapsling og upryatyvanie - grundlæggende begreber i beskrivelsen af objektorienterede sprog.

Hvis du ønsker at ændre data, det ved præcis, hvad funktioner interagere med dem. Ingen andre procedurer kan ikke få adgang til dem. Dette forenkler skrivning, debugging, og vedligeholdelse af programmet.

En ansøgning består typisk af flere objekter, som interagerer med hinanden, forårsager medlem funktioner.

I dag er den mest udbredte sprog OOP (objektorienteret programmering) - C ++ (plus plus). I Java mangler nogle funktioner såsom pointere, skabeloner og multipel nedarvning, hvilket gør det mindre kraftfuld og alsidig end C ++. C # har endnu ikke nået populariteten af C ++.

Det skal bemærkes, at såkaldte medlemsfunktioner i C ++ kaldet metoder i nogle andre objektorienterede sprog såsom Smalltalk. De dataelementer kaldes attributter. Opkald til en metode af objektet sender ham beskeder.

analogi

Du kan forestille objekter af virksomhedens afdelinger. I de fleste organisationer, behøver medarbejderne ikke arbejde en dag med personalet, følgende overopladning løn, og derefter en uge engageret i detailhandel. Hver afdeling har sit eget personale, med klart tildelte opgaver. Der er egne data: indikatorer for løn, salg, regnskab personale mv Folk i afdelingerne arbejder med deres oplysninger ... Opdelingen af virksomheden, derfor letter kontrol af sin drift og vedligeholder data integritet. Regnskab er ansvarlig for lønningslisten. Hvis du ønsker at kende den samlede løn til den sydlige gren i juli, behøver ikke at dykke ned i arkivet. Det er nok til at sende en note til den ansvarlige person, vente, indtil den pågældende person har adgang til de data og sender svaret til de ønskede oplysninger. Dette sikrer overholdelse af regler og fraværet af ekstern interferens. På samme måde et objekt i PLO giver organisationen ansøgning.

Det bør erindres, at orienteringen af objekter ikke gælder for detaljerne i arbejdsprogrammet. De fleste instruktioner C ++ operatører svarer til proceduresprogene såsom C. Faktisk medlem funktioner i C ++ er meget lig funktioner i C. Kun den bredere sammenhæng vil tillade at fastslå, om instruktionen proceduremæssig eller objektorienteret.

Objektet i OOP: Definition

Når man overvejer problemet med programmering i objektorienteret sprog i stedet for spørgsmål om dets opdeling i separate funktioner er et problem i de separations-. OOP tænkning er meget lettere at udvikle applikationer. Dette skyldes ligheden mellem software og virkelige objekter.

Hvilken slags ting er objekter i OOP? Her er nogle typiske kategorier.

Fysisk objekt i OOP - er:

  • transport flow-modeller;
  • elektriske komponenter i kredsløb design programmer;
  • landets økonomi model;
  • fly i flyvekontrolsystem.

Elementer af miljøet brugerens computer:

  • menuen;
  • vinduer;
  • grafik (linje, rektangel, cirkel);
  • tastatur, mus, printer, diskdrev.

mennesker:

  • arbejdstagere;
  • studerende;
  • kunder;
  • sælgere.

oplysninger:

  • bogføring;
  • en privat sag;
  • ordbog;
  • tabel over bredde- og længdegrader af bosættelser.

Meddelelse af virkelige verden objekter og PLO var resultatet af en kombination af funktioner og data, de har revolutioneret programmeringen. Sådan en tæt kamp i proceduremæssige sprog der.

klasse

Objekter i PLO - en elev. Hvad betyder det? Programmeringssprog har indbygget datatyper. Typen int, t. E. Et heltal, der er forudbestemt i C ++. Du kan erklære et vilkårligt antal int variabler.

Tilsvarende kan en flerhed af objekter defineret af én klasse. Den definerer de funktioner og de data, der indgår i sine faciliteter, ikke skabe dem, såvel som en int ikke skaber variabler.

Klasse i PLO - en beskrivelse af en række lignende objekter. Prince, Sting og Madonna er sangerne. Der er ingen, der ved det navn, men folk kan kaldes så, hvis de har de nødvendige egenskaber. OOP objekt - dette tilfælde.

arv

I livet, er klasser opdelt i underklasser. For eksempel er dyr opdelt i padder, pattedyr, fugle, insekter og så videre. D.

Princippet i denne form for opdeling er, at hver underklasse har fælles træk med klassen, hvorfra. Alle biler har hjul og en motor. Dette er de definerende karakteristika for køretøjerne. Ud over de generelle karakteristika for hver underklasse har sine egne karakteristika. Der er mange bus sæder og lastbiler har plads til at bære tunge byrder.

Ligeledes kan en base klasse være en underklasse forælder flere derivater, som kan defineres således, at de vil dele sine egne karakteristika med tilsætningen. Arv ligesom funktioner, forenkle proceduremæssige program. Hvis flere dele af koden gør stort set det samme, kan du udtrække de fælles elementer og sætte dem i én proces. Tre anvendelsesområde kan kalde den funktion at udføre almindelige handlinger, men de kan producere og sine egne aktiviteter. Tilsvarende basisklassens indeholder information fælles for gruppen af derivater. En lignende funktion reducerer Arv objektorienteret program og tydeliggøre sammenhængen mellem dens elementer.

genbrug

Når klassen er oprettet og debugged, kan det overføres til andre programmører til at genbruge i dine egne applikationer. Det er ligesom et bibliotek med funktioner, der kan indgå i forskellige applikationer.

I OOP, arv er en udvidelse af ideen om hyppig brug. Fra en eksisterende klasse, uden at ændre det, kan vi danne en ny med tilføjelse af andre funktioner. Den lette genbrug af eksisterende software - en vigtig fordel af PLO. Det menes, at det giver en øget rentabilitet af den oprindelige investering.

Oprettelse af nye datatyper

Faciliteter er egnede til etablering af nye datatyper. Antag et program bruger todimensionale værdier (fx koordinater eller breddegrad og længdegrad), og har et ønske om at udtrykke virkningen af aritmetiske på dem:

stilling1 = position + oprindelse,

hvor stilling1, stilling og oprindelse - et par uafhængige numeriske værdier. Oprettelse af en klasse, der indeholder disse to værdier, og variabelerklæringer af sine objekter skaber en ny datatype.

Polymorfi, overbelastning

Operatører = (lige) og + (plus) anvendes i aritmetiske positionel ovenfor ikke virker så godt som en indbygget typer, såsom int. Position formål og andre. Er ikke forudbestemt og indstillet af software. Hvordan disse operatører ved, hvordan man håndterer dem? Svaret ligger i det faktum, at nye adfærdsmønstre kan indstilles til dem. Disse operationer vil være medlem funktioner Klasse holdning.

Ved hjælp af operatører eller procedurer afhængigt af, hvad de arbejder kaldes polymorfi. Når der er en operatør, såsom + eller =, får mulighed for at arbejde med den nye datatype, det siger, at det er overbelastet. Overbelastning i PLO - en slags polymorfi. Det er dens vigtig funktion.

En bog om PLO "objektorienteret programmering for Dummies" vil tillade alle at komme i nærkontakt med dette emne i flere detaljer.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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