ComputersProgrammering

PLO - wat is dit? De basisprincipes van object georiënteerd programmeren

Waarom object-georiënteerd programmeren heeft de voorkeur bij de meeste projecten? PLO biedt een effectieve manier om te gaan met de complexiteit ervan. In plaats van het overwegen van een programma als een opeenvolging van uitvoerbare instructies, het vertegenwoordigt het als een groep objecten met bepaalde eigenschappen en produceren ze met bepaalde acties. Dit resulteert in een duidelijker, betrouwbaarder en legkosoprovozhdaemyh toepassingen.

De basisprincipes van objectgeoriënteerd programmeren (OOP) gevormd vanwege beperkingen gevonden in reeds bestaande benaderingen. Onder hen - onbeperkt toegang tot de gegevens en een groot aantal verschillende schakels die beperkingen opleggen aan de verandering. Hun bewustzijn en de oorzaken van belang om te begrijpen wat OOP programmeren en wat zijn de voordelen.

procedurele talen

C, Pascal, FORTRAN, en soortgelijke talen zijn procedurele. Dat wil zeggen dat elk van de operator vertelt de computer om iets te doen: om de gegevens te krijgen, voeg de nummers, verdeeld in zes, is het resultaat weergegeven. Appendix procedurele taal instructie lijst. Als het klein is, is er geen andere organiserend principe (vaak aangeduid als een paradigma) niet vereist. De programmeur maakt een lijst van instructies en de computer ze uitvoert.

Functiescheiding

Wanneer toepassingen worden meer omslachtige lijst met bochten. Weinigen kunnen begrijpen meer dan een paar honderd instructies totdat ze worden gegroepeerd. Om deze reden is de functie was de manier waarop de toepassing begrijpelijker om de makers te maken. In sommige talen, kan hetzelfde concept subroutines of procedures worden genoemd.

De app bestaat uit functies, die elk een duidelijk omschreven doel en interface.

Het idee van de scheiding van procedures kan worden geëxpandeerd tot een grotere groep van genoemd object module, maar het principe is analoog: de combinatie van componenten die lijsten documenten te dragen.

Functiescheiding en modules - een van de hoekstenen van gestructureerd programmeren, die tientallen jaren totdat de PLO was ervan uitgaat paradigma.

gestructureerd programmeren problemen

Als toepassingen groter worden, gestructureerd programmeren beginnen ondervinden. De projecten te complex worden. verschoven afbeeldingen. Het gaat om een groot aantal programmeurs. De complexiteit is gegroeid. De kosten schieten omhoog, werd de planning verder verschoven, en er kwam de ineenstorting.

Analyse van de oorzaken van de storingen is gebleken tekortkomingen procedurele paradigma. Ongeacht hoe goed gestructureerd geïmplementeerd programmeringsaanpak, grote toepassingen worden te complex.

Wat zijn de oorzaken van deze problemen in verband met procedurele talen? Ten eerste, de functies hebben onbeperkt toegang tot globale gegevens. Ten tweede, niet-gerelateerde procedures en slechte waarden simuleren van de echte wereld.

Als we deze kwesties in het kader van de inventaris accounting software te overwegen, een van de belangrijkste elementen van de wereldwijde gegevens is een set van SKU's. Verschillende functies kunnen verwijzen naar hen om een nieuwe waarde in te voeren, het wordt weergegeven, veranderingen en ga zo. D.

onbeperkte toegang

Het programma geschreven, bijvoorbeeld in C, zijn er twee typen data. Lokale verborgen binnen de functie en andere procedures worden niet gebruikt.

Wanneer twee of meer functies toegang hebben tot dezelfde gegevens, moet de laatste wereldwijde zijn. Een dergelijke, worden bijvoorbeeld rekening met de informatie over de onderwerpen genomen. De globale gegevens kan de beschikbare procedure.

In een groot programma, zijn er vele mogelijkheden en vele wereldwijde elementen. Het probleem van de procedurele paradigma is dat het leidt tot een groter aantal mogelijke banden tussen hen.

Een dergelijk groot aantal verbindingen veroorzaakt verschillende problemen. In de eerste plaats bemoeilijkt het begrip van de structuur van het programma. In de tweede plaats, moeilijk te veranderen. Verandering in de wereldwijde data-item kan afstelling van alle functies die er toegang toe hebben vereisen.

Bijvoorbeeld, in het programma goed iemand besluit dat goed object code moet bestaan niet die van 5 cijfers, en van 12. Dit zal een verandering nodig van het type data van kort tot lang. Nu die bij de functie code moet worden aangepast om te werken met het nieuwe formaat.

Wanneer de elementen worden gewijzigd in een grotere applicatie, is het moeilijk te zeggen wat procedures hebben toegang tot hen. Maar zelfs als dit cijfer, het veranderen van hen kan leiden tot verkeerde bediening met andere wereldwijde gegevens. Alles hangt met alles, dus een verandering in de ene plaats averechts werken in een ander.

Het modelleren van de echte wereld

De tweede en belangrijkste probleem van de procedurele paradigma is dat de locatie specifieke gegevens en slecht functioneert simuleert de dingen in de echte wereld. Hier hebben we te maken met voorwerpen, zoals mensen of auto's. Zij zijn als geen gegevens of de functie. Complexe real-world objecten hebben attributen en gedrag.

attributen

Voorbeelden van attributen (ook wel eigenschappen) voor de mensen zijn oogkleur en de naam van de post, voor een auto - de kracht en het aantal deuren. Zoals later bleek, de attributen van de echte wereld gelijk aan de gegevens in het programma. Ze hebben specifieke waarden, zoals blauw (kleur van de ogen) of vier (het aantal deuren).

gedrag

Gedrag - is dat real-world objecten worden geproduceerd in reactie op een soort van impact. Als je een baas vragen om loonsverhoging, is het antwoord "ja" of "nee". Als u drukt op de rem, zal de auto stoppen. En het stoppen van de uitspraak gedrag zijn voorbeelden. Gedrag vergelijkbaar met de procedure: het heet om iets te doen, en doet dit. Zo hoeft de gegevens en functies op zich niet te modelleren real-world efficiënt objecten.

Het aanpakken

Het object in OOP wordt weergegeven als een reeks gegevens en functies. Alleen de procedures die elementfuncties worden genoemd in C ++, laat de waarde. Deze worden verborgen en beschermd tegen veranderingen. Betekenissen en functies ingekapseld in een. Inkapseling en upryatyvanie - basisbegrippen in de beschrijving van de objectgeoriënteerde talen.

Als u de gegevens wilt veranderen, weet precies wat de functies interactie met hen. Geen enkele andere procedures kunnen er geen toegang toe. Dit vereenvoudigt het schrijven, debuggen en onderhouden van het programma.

Een aanvraag bestaat typisch uit meerdere voorwerpen die met elkaar, waardoor de lidfuncties.

Vandaag is de meest gebruikte taal OOP (object-georiënteerd programmeren) - C ++ (plus plus). In Java mist een aantal functies, zoals pointers, templates en meervoudige overerving, waardoor het minder krachtig en veelzijdiger dan C ++ maakt. C # heeft de populariteit van C ++ nog niet bereikt.

Opgemerkt wordt dat de zogenaamde lidfuncties in C ++ genaamd werkwijzen op andere objectgeoriënteerde talen zoals Smalltalk. De data items zijn genoemd attributen. Bellen naar een methode van het object stuurt hem berichten.

analogie

U kunt de objecten van het bedrijf afdelingen voorstellen. In de meeste organisaties hebben medewerkers niet werken op een dag met het personeel, de volgende overladen salaris, en dan een week bezig met de detailhandel. Elke afdeling heeft zijn eigen personeel, met duidelijk toegewezen taken. Er zijn eigen gegevens: indicatoren van de lonen, de verkoop, goed personeel, enz. De mensen in de afdelingen werken met hun informatie ... De verdeling van het bedrijf, daarom, vergemakkelijkt de controle van haar activiteiten en onderhoudt de data-integriteit. Accounting is verantwoordelijk voor de payroll. Wilt u het totale bedrag van de lonen aan de zuidelijke tak betaalde in juli weten, hoeven niet te verdiepen in het archief. Het is voldoende om een briefje te sturen naar de verantwoordelijke persoon, wachten tot die persoon toegang tot de gegevens en stuurt de respons op de gevraagde informatie. Dit zorgt voor naleving van regelgeving en de afwezigheid van externe interferentie. Op dezelfde wijze een object in de PLO verschaft organisatie toepassing.

Men mag niet vergeten dat de oriëntatie van de objecten is niet van toepassing op de details van het werkprogramma. De meeste instructies operators C ++ overeenkomt met de procedurele talen zoals C. In feite is de lidfuncties in C ++ lijken sterk op functies C. Alleen de bredere context zal worden vastgesteld of de instructie procedurele of object-georiënteerd.

Het object in OOP: Definitie

Bij het overwegen van het probleem van de programmering objectgeoriënteerde taal plaats vragen over de opdeling in verschillende functies is een probleem in de separatoren. OOP denken is veel makkelijker om applicaties te ontwikkelen. Dit is te wijten aan de gelijkenis van de software en de echte voorwerpen.

Wat voor soort dingen zijn objecten in OOP? Hier zijn een aantal typische categorieën.

Fysiek object in OOP - is van:

  • transportstroming modellen;
  • elektrische componenten in de schakeling ontwerpprogramma's;
  • economie model van het land;
  • vliegtuigen in het luchtverkeersleidingssysteem.

Elementen van het milieu computer van de gebruiker:

  • menu;
  • ramen;
  • graphics (lijn, rechthoek, cirkel);
  • toetsenbord, muis, printer, disk drives.

personen:

  • werknemers;
  • studenten;
  • klanten;
  • verkopers.

informatie:

  • boekhouding;
  • een privé-aangelegenheid;
  • woordenboek;
  • tabel van de lengte- en breedtegraden van de nederzettingen.

Mededeling van de echte wereld objecten en de PLO was het gevolg van een combinatie van functies en gegevens die ze hebben de programmering een revolutie. Zulk een spannende wedstrijd in procedurele talen daar.

klasse

Objecten in de PLO - een lid van de klasse. Wat betekent het? Programmeertalen hebben ingebouwde datatypes. Type int, t. E. Een geheel getal dat vooraf wordt bepaald in C ++. U kunt een onbeperkt aantal int variabelen verklaren.

Ook een veelheid voorwerpen gevormd door een klasse. Het definieert de functies en het in haar inrichtingen worden, ze niet te creëren, evenals een int niet variabelen.

Klasse in de PLO - een beschrijving van een aantal soortgelijke objecten. Prince, Sting en Madonna zijn ook de zangers. Er is niemand onder die naam, maar mensen kunnen zo worden genoemd, als ze over de juiste eigenschappen. OOP object - casu.

erfenis

In het leven, zijn de klassen onderverdeeld in subklassen. Zo worden de dieren verdeeld in amfibieën, zoogdieren, vogels, insecten enz. D.

Het principe van een dergelijke verdeling is dat elke subklasse heeft gemeenschappelijke elementen met de klasse waarvan de. Alle auto's hebben wielen en een motor. Dit is de definities van de kenmerken van de voertuigen. In aanvulling op de algemene kenmerken van elke subklasse heeft zijn eigen kenmerken. Er zijn veel bus zitplaatsen en vrachtwagens hebben de ruimte om zware lasten te dragen.

Evenzo kan een base klasse een subklasse ouder diverse derivaten die kunnen worden gedefinieerd dat zij de eigen kenmerken toevoeging delen. Inheritance zoals functies, de vereenvoudiging van procedurele programma. Als er meerdere delen van de code aan het doen zijn vrijwel hetzelfde, kunt u de gemeenschappelijke elementen halen en doe die in een procedure. Drie toepassingsgebied kan de functie aan te roepen om gemeenschappelijke acties uit te voeren, maar ze kunnen produceren en de eigen bedrijfsvoering. Ook de basisklasse bevat om de groep van derivaten gemeenschappelijk. Een soortgelijke functie corrigeert erfenis van objectgeoriënteerd programma en de verhouding tussen de elementen te verduidelijken.

recycling

Zodra de klasse wordt gemaakt en debuggen, kan het worden overgedragen aan andere programmeurs om te hergebruiken in uw eigen toepassingen. Het is als een bibliotheek van functies die kunnen worden opgenomen in verschillende toepassingen.

In OOP, erfenis is een uitbreiding van het idee van meervoudig gebruik. Van een bestaande klasse, zonder deze te wijzigen, kunnen we een nieuwe met de toevoeging van andere functies vormen. Het gemak van het hergebruik van bestaande software - een belangrijk voordeel van de PLO. Men gaat ervan uit dat het voorziet in een toenemende winstgevendheid van de initiële investering.

Het creëren van nieuwe data types

Voorzieningen die geschikt zijn voor het creëren van nieuwe typen data. Stel dat een programma maakt gebruik van twee-dimensionale waarden (bijvoorbeeld coördinaten of lengte- en breedtegraad), en een verlangen hebben om de werking van de rekenkunde op hen uit te drukken:

positie 1 = positie + oorsprong,

waarbij positie 1, positie en herkomst - een paar onafhankelijke numerieke waarden. Het creëren van een klasse die deze twee waarden omvat, en variabele declaraties van haar objecten creëert een nieuw type data.

Polymorfisme, overbelasting

Operators = (gelijk), en + (plus) gebruikt in rekenkundige positionele hierboven niet zo goed werken als een ingebouwde types zoals int. Het plaatsen van objecten, en anderen. Zijn niet vooraf bepaald en door software in te stellen. Hoe verhouden deze operators weten hoe om te gaan? Het antwoord ligt in het feit dat nieuwe gedrag kan worden ingesteld voor hen. Deze operaties zullen lid functies Class positie.

Operatoren gebruiken of procedures, afhankelijk van waar ze mee bezig polymorfisme wordt genoemd. Wanneer er een operator, zoals + of =, krijgt de kans om te werken met het nieuwe type gegevens, zegt dat het overbelast is. Overbelasting in de PLO - een soort van polymorfisme. Het is een belangrijk kenmerk.

Een boek over de PLO "Object-Oriented Programming voor Dummies" zal voor iedereen mogelijk om kennis te maken met dit onderwerp in meer detail.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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