Rozdiel medzi OOP a POP

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 13 Smieť 2024
Anonim
Какие бывают Шлейфы в Свадебных Платьях?
Video: Какие бывают Шлейфы в Свадебных Платьях?

Obsah


Postupne orientované programovanie (POP) a Objektovo orientované programovanie (OOP) obidva sú prístupy k programovaniu, ktoré na programovanie používajú jazyk na vysokej úrovni. Program je možné písať v oboch jazykoch, ale ak je úloha veľmi zložitá, OOP funguje v porovnaní s POP dobre. V POP je „bezpečnosť údajov“ ohrozená tým, že sa údaje voľne pohybujú v programe, a „nedosiahnuteľnosť kódu“ sa nedosahuje, čo spôsobuje, že programovanie je zdĺhavé a ťažko pochopiteľné.

Veľké programy vedú k väčšiemu počtu chýb a predlžuje sa čas ladenia. Všetky tieto nedostatky vedú k novému prístupu, konkrétne k „objektovo orientovanému programovaniu“. Pri objektovo orientovanom programovaní sa pozornosť venuje ‘bezpečnosť údajov,; úzko spája údaje s funkciami, ktoré s nimi pracujú. Rieši tiež problém ‘opätovné použitie kódu', Ako keby bola vytvorená trieda, je možné vytvoriť jej viacnásobné inštancie (objekty), ktoré opakovane používajú členov a funkcie členov definované triedou.


Existujú niektoré ďalšie rozdiely, ktoré možno vysvetliť pomocou porovnávacej tabuľky.

    1. Porovnávacia tabuľka
    2. definícia
    3. Kľúčové rozdiely
    4. výhody
    5. nevýhody
    6. záver


Porovnávacia tabuľka

Základ pre porovnaniePOPOOP
základné
Orientácia na postup / štruktúru.
Objektovo orientovaný.
Prístup Top-down.Bottom-up.
základHlavný dôraz sa kladie na „ako úlohu splniť“, t. J. Na postup alebo štruktúru programu.Hlavné zameranie je na bezpečnosť údajov. Preto majú prístup iba k objektom triedy iba objekty.
delenieVeľký program je rozdelený do jednotiek nazývaných funkcie.Celý program je rozdelený na objekty.
Režim prístupu k entiteNebol pozorovaný žiadny prístupový špecifikátor.
Špecifikátor prístupu je „verejný“, „súkromný“, „chránený“.
Preťaženie / polymorfizmusNepreťažuje ani funkcie, ani operátorov.Preťažuje funkcie, konštruktory a operátorov.
dedičstvoNejde o ustanovenie o dedičstve.Dedičstvo dosiahnuté v troch režimoch je verejné a chránené.
Skrytie údajov a bezpečnosťNeexistuje žiadny vhodný spôsob, ako skryť údaje, takže údaje sú neisté Dáta sú skryté v troch režimoch: verejné, súkromné ​​a chránené. preto sa zvyšuje bezpečnosť údajov.
Zdieľanie údajovGlobálne údaje sa zdieľajú medzi funkciami programu.Údaje sú medzi objektmi zdieľané prostredníctvom členských funkcií.
Funkcie / triedy priateľovŽiadna predstava funkcie priateľa.Triedy alebo funkcie sa môžu stať priateľom inej triedy s kľúčovým slovom „priateľ“.
Poznámka: Kľúčové slovo „priateľ“ sa používa iba v jazyku c ++
Virtuálne triedy / funkcieŽiadna predstava virtuálnych tried.Počas dedičstva sa objavuje pojem virtuálnej funkcie.
príklad C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


Definícia objektovo orientovaného programovania (OOP)

Hlavným záujmom OOP je skryť údaje pred nečlenskými funkciami triedy, s ktorými zaobchádza ako s „kritickými informáciami“. Dáta sú úzko spojené s členskými funkciami triedy, ktorá na nej pracuje. Nepovoľuje žiadnej nečlenskej funkcii upravovať údaje v nej. Objekty sa vzájomne ovplyvňujú prostredníctvom členských funkcií, aby získali prístup k svojim údajom.

OOP je vyvinutý na základe základného pojmu „objekt“, „triedy“, „zapuzdrenie alebo abstrakcia údajov“, „dedičnosť“ a „polymorfizmus / preťaženie“. V OOP sa programy dajú rozdeliť na moduly rozdelením údajov a funkcií, ktoré sa môžu v prípade potreby ďalej použiť ako šablóny na vytváranie nových kópií modulov. Preto je to prístup, ktorý uľahčuje modularizáciu programov vytvorením oblasti rozdelenej pamäte pre dáta a funkcie.

Object-Oriented Concepts

  • objektov: Považuje sa za premennú triedy triedy a inštancie triedy.
  • Trieda: Je to skupina objektov podobného typu. Kompletná sada údajov a kódu objektu vytvára užívateľom definovaný typ údajov pomocou triedy.
  • Abstrakcia a zapuzdrenie údajov: Abstrakcia nie je nič iné ako spôsob skrývania detailov pozadia a predstavovania základných čŕt. Zapuzdrenie je metóda zabalenia údajov a funkcií do jednej jednotky.
  • dedičstvo: Dedičnosť je technika získavania vlastností objektov z jednej triedy do druhej triedy. Inými slovami, pomáha pri odvodzovaní novej triedy z existujúcej triedy.
  • polymorfizmus: Polymorfizmus poskytuje metódu vytvárania viacerých foriem funkcie pomocou jediného názvu funkcie.
  • Dynamické viazanie: Špecifikuje, že kód spojený s konkrétnym postupom nie je známy až do momentu hovoru v čase spustenia.
  • pominuteľný: Tento koncept OOP umožňuje interakciu medzi rôznymi triedami prostredníctvom prenosu a prijímania informácií.

Definícia procedúrovo orientovaného programovania (POP)

POP je konvenčný spôsob programovania. Procedurálne programovanie je miesto, kde sa primárne zameriava na to, aby sa úloha vykonala v sekvenčnom poradí. Vývojový diagram organizuje tok kontroly nad programom. Ak je program rozsiahly, je štruktúrovaný do niektorých malých jednotiek nazývaných funkcie, ktoré zdieľajú globálne údaje. V tomto prípade vzbudzuje obavy bezpečnosť údajov, pretože funkcie sú neúmyselne zmenené v programe.

POP vlastnosti

  • Pri navrhovaní programu sa POP riadi programovacím prístupom zhora nadol.
  • Väčšina funkcií umožňuje zdieľanie globálnych údajov.
  • Rozdeľuje tiež väčšie programy na menšie časti, ktoré sa nazývajú funkcie.
  • Umožňuje voľný pohyb údajov po systéme od funkcií k funkciám.
  • Dáta sú transformované funkciami z jednej formy do druhej.
  • Dáva význam koncepcii funkcií.
  1. POP je procedurálne orientované programovanie, zatiaľ čo OOP je objektovo orientované programovanie.
  2. Hlavným zameraním POP je „ako splniť úlohu“Na splnenie úlohy nasleduje vývojový diagram. Hlavným zameraním OOP je bezpečnosť údajov keďže iba objekty triedy majú prístup k atribútom alebo funkcii triedy.
  3. funkcie sú malé jednotky veľkých programov alebo podprogramov, ktoré sa vykonávajú, aby sa splnila hlavná úloha. Naopak, OOP atribúty a funkcie triedy sú rozdelené medzi objektov.
  4. V POP neexistuje žiadny špecifický režim prístupu na prístup k atribútom alebo funkciám v programe. Naopak, v OOP existujú tri prístupové režimy „verejný“, „súkromný“, „chránený“, ktoré sa používajú ako metóda prístupu na prístup k atribútom alebo funkciám.
  5. POP nepodporuje koncepciu preťaženia / polymorfizmu. Naopak, OOP podporuje preťaženie / polymorfizmus, čo znamená použitie rovnakého názvu funkcie na vykonávanie rôznych funkcií. V OOP môžeme preťažiť funkcie, konštruktor a operátory.
  6. V POP neexistuje koncepcia dedičnosti, zatiaľ čo OOP podporuje dedenie, ktoré umožňuje použitie atribútu a funkcií inej triedy jeho zdedením.
  7. POP je menej bezpečný v porovnaní s OOP, pretože v OOP špecifikátor prístupu obmedzuje prístup k atribútom alebo funkciám, ktoré zvyšujú bezpečnosť.
  8. V POP, ak sa majú niektoré údaje zdieľať medzi všetkými funkciami v programe, sú deklarované globálne mimo všetkých funkcií. Zatiaľ čo v OOP je prístup k dátovému členu triedy prostredníctvom členských funkcií triedy.
  9. V POP neexistuje koncepcia funkcie priateľa. Naopak, v OOP existuje koncept priateľskej funkcie, ktorý nie je členom triedy, ale pretože je to priateľský člen, môže pristupovať k dátovým členom a členom funkcií triedy.
  10. V POP neexistuje koncepcia virtuálnych tried, zatiaľ čo v OOP podporujú virtuálne funkcie polymorfizmus.

výhody

POP (procedurálne orientované programovanie)

  • Poskytuje možnosť opakovaného použitia rovnakého kódu na rôznych miestach.
  • Uľahčuje sledovanie toku programov.
  • Schopné zostaviť moduly.

OOP (Object Oriented Programming)

  • Objekty pomáhajú pri rozdelení úloh v projekte.
  • Zabezpečené programy je možné vytvárať pomocou skrývania údajov.
  • Môže potenciálne mapovať objekty.
  • Umožňuje kategorizáciu objektov do rôznych tried.
  • Objektovo orientované systémy je možné bez problémov upgradovať.
  • Redundantné kódy sa dajú eliminovať pomocou dedičnosti.
  • Kódy možno rozšíriť pomocou opakovaného použitia.
  • Môže sa dosiahnuť väčšia modularita.
  • Abstrakcia dát zvyšuje spoľahlivosť.
  • Flexibilný vďaka koncepcii dynamického viazania.
  • Oddeľuje základnú špecifikáciu od jej implementácie pomocou skrývania informácií.

nevýhody

POP (procedurálne orientované programovanie)

  • Globálne údaje sú zraniteľné.
  • Dáta sa môžu voľne pohybovať v rámci programu
  • Je ťažké overiť polohu údajov.
  • Funkcie sú zamerané na činnosť.
  • Funkcie nemôžu súvisieť s prvkami problému.
  • Problémy v reálnom svete nemožno modelovať.
  • Časti kódu sú vzájomne závislé.
  • Jeden kód aplikácie sa nemôže použiť v inej aplikácii.
  • Dáta sa prenášajú pomocou funkcií.

OOP (Object Oriented Programming)

  • Vyžaduje si to viac zdrojov.
  • Dynamické správanie objektov vyžaduje úložisko RAM.
  • Detekcia a ladenie je v zložitých aplikáciách ťažšie, keď sa vykonáva odovzdávanie.
  • Dedičstvo robí ich triedy pevne spojené, čo ovplyvňuje opakované použitie predmetov.

záver

Nedostatky POP vyplývajú z potreby OOP. OOP opravuje nedostatky POP zavedením konceptu „objekt“ a „triedy“. Zvyšuje bezpečnosť dát a automatickú inicializáciu a vyčistenie objektov. OOP umožňuje vytvoriť viac inštancií objektu bez akýchkoľvek zásahov.