Rozdiel medzi OOP a POP
Obsah
Porovnávacia tabuľka- Definícia objektovo orientovaného programovania (OOP)
- Object-Oriented Concepts
- Definícia procedúrovo orientovaného programovania (POP)
- POP vlastnosti
- výhody
- nevýhody
- záver
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.
-
- Porovnávacia tabuľka
- definícia
- Kľúčové rozdiely
- výhody
- nevýhody
- záver
Porovnávacia tabuľka
Základ pre porovnanie | POP | OOP |
---|---|---|
základné | Orientácia na postup / štruktúru. | Objektovo orientovaný. |
Prístup | Top-down. | Bottom-up. |
základ | Hlavný 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. |
delenie | Veľký program je rozdelený do jednotiek nazývaných funkcie. | Celý program je rozdelený na objekty. |
Režim prístupu k entite | Nebol pozorovaný žiadny prístupový špecifikátor. | Špecifikátor prístupu je „verejný“, „súkromný“, „chránený“. |
Preťaženie / polymorfizmus | Nepreťažuje ani funkcie, ani operátorov. | Preťažuje funkcie, konštruktory a operátorov. |
dedičstvo | Nejde 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 údajov | Globá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, Pascal | C ++, 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í.
- POP je procedurálne orientované programovanie, zatiaľ čo OOP je objektovo orientované programovanie.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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ť.
- 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.
- 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.
- 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.