Starpība starp OOP un POP

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 17 Maijs 2024
Anonim
Vladimir Putin - Putin, Putout (The Unofficial Russian Anthem) by Klemen Slakonja
Video: Vladimir Putin - Putin, Putout (The Unofficial Russian Anthem) by Klemen Slakonja

Saturs


Uz procedūru orientēta programmēšana (POP) un Objektorientētā programmēšana (OOP) abas ir programmēšanas pieejas, kuru programmēšanā izmanto augsta līmeņa valodu. Programmu var rakstīt abās valodās, bet, ja uzdevums ir ļoti sarežģīts, OOP darbojas labi, salīdzinot ar POP. POP gadījumā tiek apdraudēta “datu drošība”, jo dati brīvi pārvietojas programmā, kā arī netiek panākta “koda atkārtota izmantojamība”, kas apgrūtina programmēšanu un ir grūti saprotams.

Lielas programmas rada vairāk kļūdu, un tas palielina atkļūdošanas laiku. Visi šie trūkumi noved pie jaunas pieejas, proti, “uz objektu orientētas programmēšanas”. Objektorientētā programmēšanā galvenā uzmanība tiek pievērsta “datu drošība'; tas cieši sasaista datus ar funkcijām, kas ar to darbojas. Tas arī atrisina problēmu “koda atkārtota izmantojamība”, It kā tiek izveidota klase, var izveidot vairākus tās gadījumus (objektus), kas atkārtoti izmanto klases noteiktos dalībniekus un dalībnieku funkcijas.


Ir dažas citas atšķirības, kuras var izskaidrot, izmantojot salīdzināšanas diagrammu.

    1. Salīdzināšanas tabula
    2. Definīcija
    3. Galvenās atšķirības
    4. Priekšrocības
    5. Trūkumi
    6. Secinājums


Salīdzināšanas tabula

Pamats salīdzinājumamPOPOOP
Pamata
Procedūra / struktūra orientēta.
Uz objektu orientēts.
Pieeja Augšas uz leju.Bottom-up.
PamatsGalvenais uzsvars tiek likts uz "kā paveikt uzdevumu", t.i., uz programmas procedūru vai struktūru.Galvenā uzmanība tiek pievērsta datu drošībai. Tādējādi klases objektiem ir atļauts piekļūt tikai objektiem.
NodaļaLiela programma ir sadalīta vienībās, kuras sauc par funkcijām.Visa programma ir sadalīta objektos.
Entītijas piekļuves režīmsNetika novērots neviens piekļuves rādītājs.
Piekļuves specifikatori ir “publiski”, “privāti”, “aizsargāti”.
Pārslodze / polimorfismsNe tā pārslogo funkcijas, ne operatorus.Tas pārslogo funkcijas, konstruktorus un operatorus.
MantojumsTie nav mantojuma nodrošināšana.Mantojums panākts trīs veidos - publiski privāti un aizsargāti.
Datu slēpšana un drošībaDatu slēpšana nav pareiza, tāpēc dati ir nedroši Dati ir paslēpti trīs publiskā, privātā un aizsargātā režīmā. līdz ar to palielinās datu drošība.
Datu koplietošanaGlobālie dati tiek dalīti starp programmas funkcijām.Dati tiek dalīti starp objektiem, izmantojot dalībnieka funkcijas.
Draugu funkcijas / nodarbībasNav drauga funkcijas jēdziena.Klases vai funkcija var kļūt par citas klases draugu ar atslēgvārdu “draugs”.
Piezīme: atslēgvārds "draugs" tiek izmantots tikai c ++
Virtuālās nodarbības / funkcijaNav virtuālo nodarbību jēdziena.Mantojuma laikā parādās virtuālās funkcijas jēdziens.
Piemērs C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


Objektorientētas programmēšanas (OOP) definīcija

OOP galvenās rūpes ir slēpt datus no klases funkcijām, kas nav biedri, un tas tiek uzskatīts par “kritisku informāciju”. Dati ir cieši saistīti ar klases dalībnieku funkcijām, kas tajā darbojas. Tas neļauj nevienai funkcijai, kas nav dalībnieks, pārveidot tajā esošos datus. Objekti mijiedarbojas viens ar otru, izmantojot dalībnieka funkcijas, lai piekļūtu viņu datiem.

OOP ir izstrādāts, izmantojot pamatjēdzienus “objekts”, “klases”, “datu iekapsulēšana vai abstrakcija”, “mantojums” un “polimorfisms / pārslodze”. OOP programmā programmas var sadalīt moduļos, sadalot datus un funkcijas, kuras vajadzības gadījumā var izmantot arī kā veidnes jaunu moduļu kopiju izveidošanai. Tāpēc šī pieeja atvieglo programmu modulēšanu, izveidojot nodalītu atmiņas apgabalu datiem un funkcijām.

Uz objektu orientētas koncepcijas

  • Objekti: Tas tiek uzskatīts par tipa klases mainīgo un klases gadījumu.
  • Klase: Tas ir līdzīga veida objektu kopums. Pilns objekta datu un koda komplekts, izmantojot klasi, izveido lietotāja definētu datu tipu.
  • Datu abstrakcija un iekapsulēšana: Abstrakcija nav nekas cits kā fona detaļu slēpšana un būtisku pazīmju atspoguļošana. Iekapsulēšana ir metode datu un funkciju iesaiņošanai vienā vienībā.
  • Mantojums: Mantojums ir paņēmiens, kā iegūt objektu pazīmes no vienas klases uz otru. Citiem vārdiem sakot, tas palīdz iegūt jaunu klasi no esošās.
  • Polimorfisms: Polimorfisms nodrošina metodi, kā izveidot vairākas funkcijas formas, izmantojot vienu funkcijas nosaukumu.
  • Dinamiska iesiešana: Tas norāda, ka kods, kas saistīts ar konkrētu procedūru, nav zināms līdz zvana brīdim izpildes laikā.
  • garām: Šī OOP koncepcija nodrošina mijiedarbību starp dažādām klasēm, pārraidot un saņemot informāciju.

Procedūru orientētas programmēšanas (POP) definīcija

POP ir parastais programmēšanas veids. Procedūras programmēšanā galvenā uzmanība tiek pievērsta uzdevuma veikšanai secīgā secībā. Blokshēma organizē programmas vadības plūsmu. Ja programma ir plaša, tā ir strukturēta dažās mazās vienībās, ko sauc par funkcijām, kuras dalās ar globāliem datiem. Šeit rodas bažas par datu drošību, jo programmā tiek nejauši mainītas funkcijas.

POP raksturlielumi

  • Izstrādājot programmu, POP ievēro programmēšanas pieeju no augšas uz leju.
  • Lielākā daļa funkciju ļauj koplietot globālos datus.
  • Tas arī sadala lielākas programmas mazākās daļās, ko sauc par funkcijām.
  • Tas ļauj brīvi pārvietoties pa sistēmu no funkcijām uz funkcijām.
  • Dati tiek pārveidoti, izmantojot funkcijas no vienas formas uz otru.
  • Tas piešķir nozīmi funkciju jēdzienam.
  1. POP ir uz procedūrām orientēta programmēšana, savukārt OOP ir uz objektu orientēta programmēšana.
  2. Galvenais POP uzsvars ir uz “kā paveikt uzdevumu”Tas seko diagrammai, lai paveiktu uzdevumu. OOP galvenā uzmanība tiek pievērsta datu drošība jo tikai klases objektiem ir atļauts piekļūt klases atribūtiem vai funkcijai.
  3. funkcijas ir lielu programmu vai apakšprogrammu mazas vienības, kuras tiek izpildītas, lai paveiktu galveno uzdevumu. Turpretī klases OOP atribūti un funkcijas ir sadalītas starp objekti.
  4. Programmā POP nav īpaša piekļuves režīma, lai piekļūtu programmas atribūtiem vai funkcijām. Un otrādi, OOP ir trīs piekļuves režīmi “publisks”, “privāts”, “aizsargāts”, kas tiek izmantoti kā piekļuves metode, lai piekļūtu atribūtiem vai funkcijām.
  5. POP neatbalsta pārslodzes / polimorfisma koncepciju. Tieši pretēji, OOP atbalsta pārslodzi / polimorfismu, kas nozīmē viena un tā paša funkcijas nosaukuma izmantošanu dažādu funkciju veikšanai. Mēs varam pārslogot funkcijas, konstruktoru un operatorus OOP.
  6. POP nav mantojuma jēdziena, turpretī OOP atbalsta mantojumu, kas ļauj mantojot izmantot citas klases atribūtu un funkcijas.
  7. POP ir mazāk drošs nekā OOP, jo OOP piekļuves specifikācija ierobežo piekļuvi atribūtiem vai funkcijām, kas palielina drošību.
  8. Ja daži dati ir koplietojami visās programmas funkcijās, POP programmā tas tiek deklarēts globāli ārpus visām funkcijām. Lai gan OOP, klases datu dalībniekam var piekļūt, izmantojot klases dalībnieka funkcijas.
  9. POP nav drauga funkcijas jēdziena. Pretēji OOP ir drauga funkcijas jēdziens, kas nav klases dalībnieks, bet, tā kā tas ir draugs, tas var piekļūt klases datu dalībnieka un dalībnieka funkcijām.
  10. POP nav virtuālo klašu jēdziena, savukārt OOP virtuālās funkcijas atbalsta polimorfismu.

Priekšrocības

POP (uz procedūrām orientēta programmēšana)

  • Nodrošina iespēju atkārtoti izmantot to pašu kodu dažādās vietās.
  • Atvieglo programmas plūsmas izsekošanu.
  • Spēj konstruēt moduļus.

OOP (Object Oriented Programming)

  • Objekti palīdz projektā sadalīt uzdevumus.
  • Drošas programmas var izveidot, izmantojot datu slēpšanu.
  • Tas potenciāli var kartēt objektus.
  • Ļauj objektus iedalīt dažādās klasēs.
  • Objektorientētās sistēmas var uzlabot bez piepūles.
  • Liekos kodus var novērst, izmantojot mantojumu.
  • Kodi var tikt pagarināti, izmantojot atkārtotu izmantojamību.
  • Var panākt lielāku modularitāti.
  • Datu abstrakcija palielina uzticamību.
  • Elastīgs, pateicoties dinamiskajai iesiešanas koncepcijai.
  • Atdala būtisko specifikāciju no tās ieviešanas, izmantojot informācijas slēpšanu.

Trūkumi

POP (uz procedūru orientēta programmēšana

  • Globālie dati ir neaizsargāti.
  • Programmā dati var brīvi pārvietoties
  • Ir grūti pārbaudīt datu stāvokli.
  • Funkcijas ir orientētas uz darbību.
  • Funkcijas nespēj saistīt ar problēmas elementiem.
  • Reālās pasaules problēmas nevar modelēt.
  • Kodu daļas ir savstarpēji atkarīgas.
  • Vienu lietojumprogrammas kodu nevar izmantot citā lietojumprogrammā.
  • Datu pārsūtīšana notiek, izmantojot funkcijas.

OOP (Object Oriented Programming)

  • Tas prasa vairāk resursu.
  • Objektu dinamiskai uzvedībai nepieciešama RAM glabāšana.
  • Atklāšana un atkļūdošana sarežģītākās lietojumprogrammās ir grūtāka, ja tiek veikta ierakstīšana.
  • Mantojums padara viņu klases cieši saistītas, kas ietekmē priekšmetu atkārtotu izmantojamību.

Secinājums

POP trūkumi rada nepieciešamību pēc OOP. OOP labo POP trūkumus, ieviešot jēdzienus “objekts” un “klases”. Tas uzlabo datu drošību un automātisku objektu inicializēšanu un tīrīšanu. OOP ļauj izveidot vairākus objekta gadījumus bez jebkādiem traucējumiem.