Skirtumas tarp OOP ir POP

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 17 Gegužė 2024
Anonim
We Tried ARGENTINE SNACKS with my Argentine Father 😋🍫 | Argentine Treats Taste Test 🇦🇷
Video.: We Tried ARGENTINE SNACKS with my Argentine Father 😋🍫 | Argentine Treats Taste Test 🇦🇷

Turinys


Procedūrinis programavimas (POP) ir Objektinis programavimas (OOP) abu yra programavimo metodai, kurių programavimui naudojama aukšto lygio kalba. Programa gali būti parašyta abiem kalbomis, tačiau jei užduotis yra labai sudėtinga, OOP veikia gerai, palyginti su POP. POP atveju kyla pavojus „duomenų saugumui“, nes duomenys laisvai juda programoje, taip pat nepasiekiamas „kodo pakartotinis panaudojimas“, todėl programavimas yra ilgas ir sunkiai suprantamas.

Didelės programos sukelia daugiau klaidų, todėl pailgėja derinimo laikas. Visi šie trūkumai lemia naują požiūrį, būtent „objektinį programavimą“. Objektiniam programavimui pagrindinis rūpestis yra „duomenų saugumas'; jis susieja duomenis su funkcijomis, kurios jame veikia. Tai taip pat išsprendžia „kodo pakartotinis panaudojimas, Tarsi sukurta klasė, gali būti sukurti keli jos egzemplioriai (objektai), kurie pakartotinai panaudotų klasės apibrėžtus narius ir narių funkcijas.


Yra keletas kitų skirtumų, kuriuos galima paaiškinti palyginimo lentelės pagalba.

    1. Palyginimo diagrama
    2. Apibrėžimas
    3. Pagrindiniai skirtumai
    4. Privalumai
    5. Trūkumai
    6. Išvada


Palyginimo diagrama

Pagrindas palyginimuiPOPOOP
Pagrindinis
Procedūra / struktūra orientuota.
Objektinis.
metodas Iš viršaus į apačią.Iki dugno.
PagrindasPagrindinis dėmesys skiriamas „kaip atlikti užduotį“, ty programos procedūrai ar struktūrai.Pagrindinis dėmesys skiriamas duomenų saugumui. Taigi klasės objektams leidžiama pasiekti tik objektus.
SkyriusDidelė programa yra padalinta į vienetus, vadinamus funkcijomis.Visa programa yra padalinta į objektus.
Subjekto prisijungimo režimasNebuvo stebimas prieigos specifikatorius.
Prieigos specifikacijos yra „vieša“, „privati“, „apsaugota“.
Perkrovos / polimorfizmasNei perkraunamos funkcijos, nei operatoriai.Tai perkrauna funkcijas, konstruktorius ir operatorius.
PaveldimumasTai nėra paveldėjimo nuostata.Paveldimumas pasiektas trimis viešojo ir privačiojo sektorių būdais.
Duomenų slėpimas ir saugumasNėra tinkamo būdo paslėpti duomenis, todėl duomenys yra nesaugūs Duomenys yra paslėpti trijose valstybinėse, privačiose ir apsaugotose. taigi padidėja duomenų saugumas.
Dalijimasis duomenimisVisuotiniai duomenys yra dalijami tarp programos funkcijų.Duomenys dalijami objektams per nario funkcijas.
Draugų funkcijos / užsiėmimaiNėra draugo funkcijos sampratos.Klasės ar funkcijos gali tapti kitos klasės draugais su raktiniu žodžiu „draugas“.
Pastaba: raktinis žodis „draugas“ naudojamas tik c ++
Virtualios klasės / funkcijaNėra virtualių klasių koncepcijos.Paveldėjimo metu atsiranda virtualiosios funkcijos samprata.
Pavyzdys C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


Objektinio programavimo (OOP) apibrėžimas

Pagrindinis OOP rūpestis yra slėpti duomenis nuo klasės nepriklausančių funkcijų, o tai traktuojama kaip „kritinė informacija“. Duomenys yra glaudžiai susiję su klasės, kuri ją vykdo, nario funkcijomis. Tai neleidžia jokiai nepriklausančiai funkcijai modifikuoti joje esančių duomenų. Objektai sąveikauja tarpusavyje naudodamiesi nario funkcijomis, kad galėtų pasiekti savo duomenis.

OOP sukurta remiantis pagrindinėmis „objekto“, „klasių“, „duomenų kapsuliavimo ar abstrakcijos“, „paveldėjimo“ ir „polimorfizmo / perkrovos“ sąvokomis. OOP programoje programos gali būti suskirstytos į modulius, suskirstant duomenis ir funkcijas, kurios prireikus gali būti naudojamos kaip šablonai kuriant naujas modulių kopijas. Todėl tai yra požiūris, palengvinantis programų moduliavimą, sukuriant skaidytą duomenų ir funkcijų atminties sritį.

Objektinės sąvokos

  • Objektai: Tai laikoma tipo klasės kintamuoju ir klasės egzemplioriumi.
  • Klasė: Tai yra panašaus tipo objektų rinkinys. Visas duomenų rinkinys ir objekto kodas sukuria vartotojo apibrėžtą duomenų tipą naudojant klasę.
  • Duomenų abstrakcija ir kapsuliavimas: Abstrakcija yra ne kas kita, kaip pagrindinės informacijos slėpimo ir esminių bruožų atvaizdavimo būdas. Inkapsuliacija yra duomenų ir funkcijų pakavimo į vieną vienetą metodas.
  • PaveldimumasPaveldėjimas yra objektų savybių įgijimo iš vienos klasės į kitą klasės technika. Kitaip tariant, tai padeda išvesti naują klasę iš esamos.
  • Polimorfizmas: Polimorfizmas yra būdas sukurti kelias funkcijos formas naudojant vieną funkcijos pavadinimą.
  • Dinaminis rišimas: Tai nurodo, kad kodas, susijęs su konkrečia procedūra, nežinomas iki skambučio momento, kai jis veikia.
  • praeinantis: Ši OOP koncepcija įgalina skirtingų klasių sąveiką perduodant ir gaunant informaciją.

Į procedūrą orientuoto programavimo (POP) apibrėžimas

POP yra įprastas programavimo būdas. Procedūriniame programavime pagrindinis dėmesys skiriamas užduoties atlikimui nuoseklia tvarka. Srauto schema organizuoja programos valdymo srautą. Jei programa yra plati, ji yra suskirstyta į keletą mažų vienetų, vadinamų funkcijomis, kurie dalijasi globaliais duomenimis. Čia kyla rūpestis dėl duomenų saugumo, nes netyčia programa keičiama pagal funkcijas.

POP charakteristikos

  • Kurdamas programą, POP vadovaujasi programavimo principu „iš viršaus į apačią“.
  • Dauguma funkcijų leidžia dalintis visuotiniais duomenimis.
  • Tai taip pat padalina didesnes programas į mažesnes dalis, vadinamas funkcijomis.
  • Tai leidžia laisvai judėti sistemoje nuo funkcijų iki funkcijų.
  • Duomenys keičiami funkcijomis iš vienos formos į kitą.
  • Tai suteikia reikšmę funkcijų koncepcijai.
  1. POP yra į procedūrą orientuotas programavimas, o OOP - į objektą orientuotas programavimas.
  2. Pagrindinis POP dėmesys skiriamas „kaip atlikti užduotį“Kad būtų atlikta užduotis, ji pateikiama schemoje. Pagrindinis dėmesys skiriamas OOP duomenų saugumas nes tik klasės objektams leidžiama prieiti prie klasės atributų ar funkcijos.
  3. funkcijos yra maži didelių programų arba paprogramių vienetai, vykdomi norint atlikti pagrindinę užduotį. OOP atributai ir klasės funkcijos, priešingai, yra skirstomi į daiktai.
  4. POP programoje nėra specialaus prieigos režimo, leidžiančio pasiekti programos atributus ar funkcijas. OOP, atvirkščiai, yra trys prieigos režimai „viešas“, „privatus“, „apsaugotas“, kurie naudojami kaip prieigos būdas norint pasiekti atributus ar funkcijas.
  5. POP nepalaiko perkrovos / polimorfizmo koncepcijos. OOP palaiko perkrovą / polimorfizmą, priešingai, tai reiškia, kad skirtingoms funkcijoms atlikti naudojamas tas pats funkcijos pavadinimas. Mes galime perkrauti funkcijas, konstruktorius ir operatorius OOP.
  6. POP nėra paveldėjimo sąvokos, tuo tarpu OOP palaiko paveldėjimą, kuris leidžia paveldint naudoti kitos klasės požymį ir funkcijas.
  7. POP yra mažiau saugus, palyginti su OOP, nes OOP prieigos specifikatorius riboja prieigą prie atributų ar funkcijų, kurios padidina saugumą.
  8. Jei kai kurie duomenys turi būti dalijami visose programos funkcijose, naudojant POP, jis deklaruojamas visame pasaulyje už visų funkcijų ribų. OOP metu duomenų klasės narys gali būti pasiekiamas per klasės nario funkcijas.
  9. POP nėra draugo funkcijos sąvokos. Priešingai, OOP yra draugo funkcijos, kuri nėra klasės narys, sąvoka, tačiau kadangi ji yra draugo narė, ji gali naudotis klasės duomenų nario ir nario funkcijomis.
  10. POP nėra virtualių klasių koncepcijos, tuo tarpu OOP virtualiosios funkcijos palaiko polimorfizmą.

Privalumai

POP (į procedūrą orientuotas programavimas)

  • Suteikia galimybę pakartotinai naudoti tą patį kodą įvairiose vietose.
  • Palengvina programos eigos stebėjimą.
  • Geba konstruoti modulius.

OOP (Objektinis programavimas)

  • Objektai padeda paskirstyti užduotis projekte.
  • Saugios programos gali būti kuriamos slepiant duomenis.
  • Tai gali potencialiai parodyti objektus.
  • Įgalina objektus suskirstyti į įvairias klases.
  • Objektines sistemas galima lengvai patobulinti.
  • Nereikalingus kodus galima pašalinti naudojant paveldėjimą.
  • Kodai gali būti išplėsti naudojant pakartotinį naudojimą.
  • Galima pasiekti didesnį moduliškumą.
  • Duomenų abstrakcija padidina patikimumą.
  • Lanksti dėl dinamiškos įrišimo koncepcijos.
  • Naudodamiesi informacijos slėpimu, atsieja pagrindinę specifikaciją nuo jos įgyvendinimo.

Trūkumai

POP (į procedūrą orientuotas programavimas

  • Visuotiniai duomenys yra pažeidžiami.
  • Programoje duomenys gali laisvai judėti
  • Duomenų padėtį patikrinti sunku.
  • Funkcijos yra orientuotos į veiksmus.
  • Funkcijos nesugeba susieti su problemos elementais.
  • Realiojo pasaulio problemos negali būti modeliuojamos.
  • Kodo dalys yra tarpusavyje susijusios.
  • Vienos programos kodo negalima naudoti kitoje programoje.
  • Duomenys perduodami naudojantis funkcijomis.

OOP (Objektinis programavimas)

  • Tam reikia daugiau išteklių.
  • Dinaminiam objektų elgesiui reikia RAM atminties.
  • Aptikti ir derinti sunkiau sudėtingose ​​programose, kai atliekamas perdavimas.
  • Paveldimumas daro jų klases tvirtai susietas, o tai daro įtaką daiktų pakartotiniam naudojimui.

Išvada

Dėl POP trūkumų kyla OOP poreikis. OOP ištaiso POP trūkumus, įvesdamas „objekto“ ir „klasės“ sąvokas. Tai padidina duomenų saugumą ir automatinį objektų inicijavimą bei išvalymą. OOP suteikia galimybę sukurti kelis objekto egzempliorius be jokių trukdžių.