RekenaarsProgrammering

PLO - wat is dit? Die basiese beginsels van objekgeoriënteerde programmering

Hoekom objekgeoriënteerde programmering is verkies in die meeste projekte? PLO bied 'n doeltreffende manier om te gaan met hul kompleksiteit. In plaas van die oorweging van 'n program as 'n reeks van uitvoerbare instruksies, dit verteenwoordig dit as 'n groep van voorwerpe met sekere eienskappe en produseer hulle met sekere aksies. Dit lei tot 'n beter, meer betroubaar en legkosoprovozhdaemyh aansoeke.

Die basiese beginsels van objekgeoriënteerde programmering (OOP) gevorm as gevolg beperkings is gevind in pre-bestaande benaderings. Onder hulle is - onbeperkte toegang tot die data en 'n groot aantal skakels, wat beperkings op die verandering. Hul bewustheid en oorsake belangrik om te verstaan wat OOP programmeer en wat is die voordele.

prosedurele tale

C, Pascal, FORTRAN, en soortgelyke tale prosedure. Dit wil sê, elke van die operateur vertel die rekenaar om iets te doen: om die data te kry, voeg die nommers, verdeel in ses, die resultaat vertoon. Bylaag prosedurele taal is opdrag lys. As dit is 'n klein, is geen ander organiserende beginsel (dikwels na verwys as 'n paradigma) nie nodig nie. Die programmeerder skep 'n lys van instruksies, en die rekenaar te voer.

Skeiding van funksies

Wanneer aansoeke meer omslagtig lys van draaie. Paar kan meer verstaan as 'n paar honderd instruksies totdat hulle gegroepeer. Om hierdie rede, die funksie was die manier om die aansoek meer verstaanbaar sy skeppers maak. In sommige tale, kan dieselfde konsep subroetines of prosedures genoem word.

Die app is verdeel in funksies, wat elkeen het 'n duidelik gedefinieerde doel en koppelvlak.

Die idee van die skeiding van prosedures kan uitgebrei word tot 'n groter groepering van voorwerp bekend as 'n module, maar die beginsel is soortgelyk: die groepering van komponente wat lyste van dokument dra.

Skeiding van funksies en modules - een van die hoekstene van gestruktureerde programmering, wat vir 'n paar dekades tot die PLO was dit inhou paradigma.

gestruktureerde programmering probleme

As aansoeke groter geword, gestruktureerde programmering begin om probleme te ervaar. Betrokke te raak te ingewikkeld. verskuif grafiese. Dit behels 'n groot aantal programmeerders. Die kompleksiteit gegroei. Koste skiet, is die skedule verder verskuif, en daar het die ineenstorting.

Ontleding van oorsake van mislukkings geopenbaar tekortkominge prosedurele paradigma. Ongeag van hoe goed gestruktureerde geïmplementeer programmering benadering, groot aansoeke word té kompleks.

Wat is die oorsake van hierdie probleme wat verband hou met die proses tale? In die eerste plek die funksies het onbeperkte toegang tot globale data. Tweede, onverwante prosedures en slegte waardes na te boots die werklike wêreld.

As ons hierdie kwessies in die konteks van voorraad rekeningkundige sagteware oorweeg, een van die belangrikste elemente van die globale data is 'n versameling van SKU. Verskillende funksies kan verwys na hulle om 'n nuwe waarde in, dit vertoon word, verander en so. D.

onbeperkte toegang

Die program geskryf, byvoorbeeld, in C, is daar twee tipes van data. Plaaslike weggesteek binne die funksie en ander prosedures is nie gebruik word nie.

Wanneer twee of meer funksies toegang tot dieselfde data het, moet laasgenoemde globale wees. Soos byvoorbeeld in ag inligting oor die vakke geneem. Die globale data kan enige beskikbare prosedure wees.

In 'n groot program, daar is baie funksies en verskeie globale elemente. Die probleem van die prosedure paradigma is dat dit lei tot 'n groter aantal potensiële skakels tussen hulle.

So 'n groot aantal verbindings veroorsaak verskeie probleme. In die eerste plek is dit bemoeilik die begrip van die struktuur van die program. In die tweede plek, moeilik om te verander. Verandering in die globale data item mag aanpassing van alle funksies wat toegang daartoe het vereis.

Byvoorbeeld, in die program rekeningkunde iemand besluit dat verreken voorwerp kode moet bestaan nie van 5 syfers, en uit 12. Dit sal 'n verandering vereis die tipe data van kort na lank. Nou verband hou met die funksie-kode moet verander word om te werk met die nuwe formaat.

Wanneer die elemente verander in 'n groter plaasvind, is dit moeilik om te sê watter prosedures het toegang tot hulle. Maar selfs al is hierdie syfer, die verandering van hulle kan lei tot foutiewe werking met ander globale data. Alles is in verband met alles anders, so 'n verandering in een plek backfire in 'n ander.

Modellering van die werklike wêreld

Die tweede en meer belangrik probleem van die prosedure paradigma is dat sy plek spesifieke data en funksies swak simuleer die dinge in die werklike wêreld. Hier het ons te doen met voorwerpe soos mens of motor. Hulle is soos geen data of die funksie. Komplekse werklike wêreld voorwerpe het eienskappe en gedrag.

eienskappe

Voorbeelde van eienskappe (soms genoem eienskappe) vir die mense is oogkleur en die naam van die pos, vir 'n motor - die krag en die aantal deure. Soos dit blyk, die eienskappe van die reële wêreld gelykstaande aan die data in die program. Hulle het spesifieke waardes, soos blou (kleur van oë) of vier (die aantal deure).

gedrag

Gedrag - is dat die werklike wêreld voorwerpe word in reaksie op 'n soort van impak. As jy 'n baas vra vir salarisverhoging, die antwoord is "ja" of "nee." As jy op die rem, sal die motor te stop. En stop die woord gedrag is voorbeelde. Gedrag soortgelyk aan die proses: dit staan bekend as om iets te doen, en dit doen dit. So, moenie die data en funksies wat deur hulself nie 'n model werklike wêreld doeltreffend voorwerpe.

aanspreek

Die voorwerp in OOP voorgestel as 'n stel data en funksies. Slegs die prosedures wat lid funksies genoem word in C ++, toelaat om sy waarde te verkry. Hierdie verborge en beskerm teen veranderinge. Betekenisse en funksies word saamgevat in een. Inkapseling en upryatyvanie - basiese terme in die beskrywing van die objekgeoriënteerde tale.

As jy wil die data verander, dit weet presies wat funksies interaksie met hulle. Geen ander prosedures kan hulle nie toegang. Dit vereenvoudig skryf, ontfouting, en die handhawing van die program.

'N Aansoek bestaan tipies uit verskeie voorwerpe wat in wisselwerking met mekaar, wat veroorsaak dat die lid funksies.

Vandag is die mees gebruikte taal OOP (objekgeoriënteerde programmering) - C ++ (plus plus). In Java ontbreek 'n paar kenmerke soos wenke, templates en verskeie erfenis, wat dit minder kragtige en veelsydige as C ++ maak. C # is die gewildheid van C ++ nog nie bereik het nie.

Dit sal opgemerk word dat die sogenaamde lid funksies in C ++ genoem metodes in 'n ander objek-georiënteerde tale soos Smalltalk. Die data-items is genoem eienskappe. Roep 'n wyse van die voorwerp is die stuur van hom boodskappe.

analogie

Jy kan die oogmerke van die maatskappy departemente dink. In die meeste organisasies is dit ook nie werk een dag met die personeel, die volgende hoë koste salaris, en dan 'n week besig met kleinhandel. Elke departement het sy eie personeel, met duidelik opgedra pligte. Daar is eie data: aanwysers van lone, verkope, rekeningkunde personeel, ens Mense in die departemente werk met hul inligting ... Die verdeling van die maatskappy, dus, fasiliteer die beheer van sy bedrywighede en handhaaf die integriteit van data. Rekeningkunde is verantwoordelik vir die betaalstaat. As jy wil hê dat die totale bedrag van lone aan die suidelike tak betaal in Julie weet, hoef nie te delf in die argief. Dit is genoeg om 'n nota te stuur na die verantwoordelike persoon, wag totdat daardie persoon toegang tot die data het en stuur die antwoord op die versoek om inligting. Dit verseker die nakoming van regulasies en die afwesigheid van eksterne inmenging. Op dieselfde wyse 'n voorwerp in die PLO bied organisasie aansoek.

Daar moet onthou word dat die geaardheid van voorwerpe nie van toepassing op die besonderhede van die werksprogram in. Die meeste instruksies C operateurs ++ ooreenstem met die proses tale soos C. Trouens, die lid funksies in C ++ is baie soortgelyk aan funksies in C. Slegs die breër konteks sal toelaat om vas te stel of die instruksie prosedure of voorwerp-georiënteerde.

Die voorwerp in OOP: Definisie

By die oorweging van die probleem van programmering in objekgeoriënteerde taal in plaas van vrae oor sy afdeling in aparte funksies is 'n probleem in die skeiding fasiliteite. OOP denke is baie makliker om aansoeke te ontwikkel. Dit is te danke aan die ooreenkoms van sagteware en werklike voorwerpe.

Watter soort dinge is voorwerpe in OOP? Hier is 'n paar tipiese kategorieë.

Fisiese voorwerp in OOP - is:

  • vervoer vloei modelle;
  • elektriese komponente in die stroombaan ontwerp programme;
  • ekonomie model van die land se;
  • vliegtuie in die lug verkeer beheer stelsel.

Elemente van die omgewing die gebruiker se rekenaar:

  • spyskaart;
  • vensters;
  • grafiese (lyn, reghoek, sirkel);
  • sleutelbord, muis, drukker, skyfaandrywers.

mense:

  • werkers;
  • studente;
  • kliënte;
  • verkopers.

inligting:

  • boekhouding;
  • 'n private aangeleentheid;
  • woordeboek;
  • tafel van breedtegrade en lengtegrade van nedersettings.

Kommunikasie van die werklike wêreld voorwerpe en die PLO was die gevolg van 'n kombinasie van funksies en data wat hulle die ontwikkeling rewolusie. So 'n noue wedstryd in die proses tale daar.

klas

Voorwerpe in die PLO - 'n klas lid. Wat beteken dit? Programmeertale het ingeboude datatipes. Tipe int, t. E. 'n heelgetal wat word elke jaar vooraf in C ++. Jy kan enige aantal int veranderlikes verklaar.

Net so, 'n pluraliteit van voorwerpe bepaal deur een klas. Dit definieer die funksies en die ingesluit in sy fasiliteite data, hulle nie die skep van, sowel as 'n int nie veranderlikes te skep.

Klas in die PLO - 'n beskrywing van 'n aantal soortgelyke voorwerpe. Prince, Sting en Madonna is die sangers. Daar is niemand met daardie naam nie, maar mense kan so genoem word, al het hulle die toepaslike eienskappe. OOP voorwerp - hierdie geval.

erfenis

In die lewe, is klasse verdeel in subklasse. Byvoorbeeld, is diere verdeel in amfibieë, soogdiere, voëls, insekte en so aan. D.

Die beginsel van hierdie soort afdeling is dat elke subklas het algemene kenmerke met die klas waaruit die. Alle motors het wiele en 'n motor. Dit is die kenmerkende eienskappe van die voertuie. In bykomend tot die algemene kenmerke van elke subklas het sy eie kenmerke. Daar is baie bus sitplekke en vragmotors het die ruimte om swaar vragte te dra.

Net so kan 'n basis klas 'n subklas ouer verskeie afgeleide instrumente wat kan gedefinieer word sodat hulle sy eie kenmerke met die toevoeging sal deel. Erfenis soos funksies, vereenvoudig die proses program. As 'n paar dele van die kode doen pretty much dieselfde, kan jy die algemene elemente onttrek en sit dit in een proses. Drie aansoek area kan die funksie roep om gemeenskaplike aksies uit te voer, maar hulle kan produseer en sy eie bedrywighede. Net so is die basis klas bevat inligting aan die groep van afgeleide instrumente algemeen. 'N Soortgelyke funksie verminder die erfenis van objekgeoriënteerde program en die verhouding van die elemente te verduidelik.

herwinning

Sodra die klas geskep word en ontfout, kan dit oorgedra word na ander programmeerders om te onthou in jou eie programme. Dit is soos 'n biblioteek van funksies wat ingesluit kan word in verskillende programme.

In OOP, erfenis is 'n uitbreiding van die idee van veelvuldige gebruik. Uit 'n bestaande klas, sonder om dit te verander, kan ons 'n nuwe een met die toevoeging van ander funksies te vorm. Die gemak van hergebruik van bestaande sagteware - 'n belangrike voordeel van die PLO. Daar word geglo dat dit 'n verhoging van winsgewendheid van die aanvanklike belegging.

Die skep van nuwe data tipes

Fasiliteite wat geskik is vir die skepping van nuwe tipes data. Veronderstel 'n program maak gebruik van twee-dimensionele waardes (bv koördinate of lengte-en breedtegraad), en het 'n begeerte om die aksie van rekenkundige op hulle uit te druk:

position1 = posisie + oorsprong,

waar position1, posisie en oorsprong - 'n paar onafhanklike numeriese waardes. Die skep van 'n klas wat hierdie twee waardes sluit, en veranderlike verklarings van sy oogmerke skep 'n nuwe tipe data.

Polimorfisme, oorlaai

Operateurs = (gelyk), en + (plus) in rekenkundige posisionele bo nie so goed op te tree as 'n ingeboude in tipes, soos int. Posisie voorwerpe, en ander. Is nie voorafbepaalde en deur sagteware stel. Hoe kan hierdie operateurs weet hoe om dit te hanteer? Die antwoord lê in die feit dat nuwe gedrag kan ingestel word vir hulle. Hierdie bedrywighede sal lid funksies Klas posisie.

Die gebruik van operateurs of prosedures, afhangende van wat hulle besig is polimorfisme genoem. Wanneer daar 'n operateur, soos + of =, kry die geleentheid om te werk met die nuwe tipe data, dit sê dat dit oorlaai. Oorlading in die PLO - 'n soort van polimorfisme. Dit is sy belangrikste kenmerk.

'N Boek oor die PLO "objekgeoriënteerde programmering vir Dummies" sal toelaat almal om kennis te maak met hierdie onderwerp in meer detail.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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