Starpība starp OOP un POP
Saturs
Salīdzināšanas tabula- Objektorientētas programmēšanas (OOP) definīcija
- Uz objektu orientētas koncepcijas
- Procedūru orientētas programmēšanas (POP) definīcija
- POP raksturlielumi
- Priekšrocības
- Trūkumi
- Secinājums
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.
-
- Salīdzināšanas tabula
- Definīcija
- Galvenās atšķirības
- Priekšrocības
- Trūkumi
- Secinājums
Salīdzināšanas tabula
Pamats salīdzinājumam | POP | OOP |
---|---|---|
Pamata | Procedūra / struktūra orientēta. | Uz objektu orientēts. |
Pieeja | Augšas uz leju. | Bottom-up. |
Pamats | Galvenais 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ļa | Liela programma ir sadalīta vienībās, kuras sauc par funkcijām. | Visa programma ir sadalīta objektos. |
Entītijas piekļuves režīms | Netika novērots neviens piekļuves rādītājs. | Piekļuves specifikatori ir “publiski”, “privāti”, “aizsargāti”. |
Pārslodze / polimorfisms | Ne tā pārslogo funkcijas, ne operatorus. | Tas pārslogo funkcijas, konstruktorus un operatorus. |
Mantojums | Tie nav mantojuma nodrošināšana. | Mantojums panākts trīs veidos - publiski privāti un aizsargāti. |
Datu slēpšana un drošība | Datu 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šana | Globālie dati tiek dalīti starp programmas funkcijām. | Dati tiek dalīti starp objektiem, izmantojot dalībnieka funkcijas. |
Draugu funkcijas / nodarbības | Nav 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 / funkcija | Nav virtuālo nodarbību jēdziena. | Mantojuma laikā parādās virtuālās funkcijas jēdziens. |
Piemērs | C, VB, FORTRAN, Pascal | C ++, 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.
- POP ir uz procedūrām orientēta programmēšana, savukārt OOP ir uz objektu orientēta programmēšana.
- 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.
- 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.
- 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.
- 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.
- POP nav mantojuma jēdziena, turpretī OOP atbalsta mantojumu, kas ļauj mantojot izmantot citas klases atribūtu un funkcijas.
- 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.
- 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.
- 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.
- 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.