![](http://gadget-info.com/img/difference-between/614/difference-between-oop.jpg)
Existujú aj ďalšie rozdiely, ktoré možno vysvetliť pomocou porovnávacieho grafu.
Porovnávacia tabuľka
Základ pre porovnanie | POP | OOP |
---|---|---|
základné | Postup / Konštrukcia orientovaná. | Objektovo orientovaný. |
Prístup | Top-down. | Bottom-up. |
základ | Hlavný dôraz sa kladie na "spôsob, ako splniť úlohu", tj na postup alebo štruktúru programu. | Hlavné zameranie je na "bezpečnosť údajov". Z tohto dôvodu sú povolené iba objekty prístupu k entitám triedy. |
delenie | Veľký program je rozdelený na jednotky nazývané funkcie. | Celý program je rozdelený na objekty. |
Režim prístupu do entity | Nepozoroval sa žiadny špecifikátor prístupu. | Špecifikátor prístupu je "verejný", "súkromný", "chránený". |
Preťaženie / polymorfizmus | Ani funkcia preťaženia, ani operátori. | Prebíja funkcie, konštruktory a operátory. |
dedičstvo | Ich ustanovenie o dedičstve nie je. | Dedičstvo dosiahnuté v troch režimoch je verejne súkromné a chránené. |
Skrytie a bezpečnosť údajov | Neexistuje žiadny vhodný spôsob, ako skryť údaje, takže dáta sú neisté | Údaje sú skryté v troch verejných, súkromných a chránených režimoch. a tým sa zvyšuje bezpečnosť údajov. |
Zdieľanie údajov | Globálne údaje sa zdieľajú medzi funkciami v programe. | Údaje sa zdieľajú medzi objektmi prostredníctvom funkcií členov. |
Funkcie / triedy priateľov | Neexistuje koncept funkcie priateľa. | Triedy alebo funkcie sa môžu stať priateľmi inej triedy s kľúčovým slovom "priateľ". Poznámka: Kľúčové slovo "priateľa" sa používa iba v jazyku c ++ |
Virtuálne triedy / funkcie | Žiadny koncept virtuálnych tried. | Koncept virtuálnej funkcie sa objaví počas dedičstva. |
príklad | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definícia programovania orientovaného na objekt (OOP)
Hlavným záujmom OOP je skryť údaje z nečlenských funkcií triedy, ktoré považuje za "kritické informácie". Údaje sú úzko spojené s členskými funkciami triedy, ktorá na ňom pracuje. Neumožňuje žiadnej nečlenskej funkcii modifikovať údaje v nej. Objekty komunikujú medzi sebou prostredníctvom členských funkcií na prístup k ich údajom.
OOP sa vyvíja na základnej koncepcii "objektu", "triedy", "zapuzdrenia alebo abstrakcie dát", "dedičstva" a "polymorfizmu / preťaženia". V OOP môžu byť programy rozdelené na moduly rozdeľovaním údajov a funkcií, ktoré môžu byť ďalej použité ako šablóny na vytváranie nových kópií modulov, ak je to potrebné.
![](http://gadget-info.com/img/difference-between/614/difference-between-oop-2.jpg)
Definovanie programovo orientovaného programovania (POP)
POP je bežný spôsob programovania. Procedurálne programovanie sa zameriava predovšetkým na to, aby sa úloha vykonávala v postupnom poradí. Vývojový diagram organizuje tok riadenia programu. Ak je program veľký, je štruktúrovaný v niektorých malých jednotkách nazývaných funkcie, ktoré zdieľajú globálne údaje. Tu vzniká obava v oblasti bezpečnosti údajov, pretože v programe dochádza k neúmyselnej zmene funkcií.
![](http://gadget-info.com/img/difference-between/614/difference-between-oop-3.jpg)
Kľúčové rozdiely medzi OOP a POP
- POP je procesovo orientované programovanie, zatiaľ čo OOP je objektovo orientované programovanie.
- Hlavné zameranie POP je na tom, ako urobiť úlohu ", sleduje vývojový diagram, aby sa úloha vykonala. OOP sa zameriava hlavne na bezpečnosť dát, pretože iba objekty triedy majú prístup k atribútom alebo funkciám triedy.
- Funkcie sú malé jednotky veľkých programov, ktoré sa vykonávajú, aby sa vykonala hlavná úloha. V OOP atribúty a funkcie triedy sú rozdelené medzi objekty.
- V POP neexistuje žiadny špecifický režim prístupu na prístup k atribútom alebo funkciám v programe, zatiaľ čo v OOP existujú tri prístupové režimy "verejné", "súkromné", "chránené", ktoré sa používajú ako pristupujúci podiel na prístup k atribútom alebo funkciám,
- POP nepodporuje koncept preťaženia / polymorfizmu. OOP podporuje preťaženie / polymorfizmus, čo znamená používanie rovnakého názvu funkcie pri vykonávaní rôznych funkcií. Môžeme preťažiť funkcie, konštruktér a operátorov v OOP.
- Neexistuje koncept dedenia v POP, zatiaľ čo OOP podporuje dedičstvo, ktoré umožňuje jeho používanie atribútom a funkciami inej triedy.
- 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ť.
- Pri POP, ak majú byť niektoré dáta zdieľané medzi všetkými funkciami v programe, je deklarovaná globálne mimo všetkých funkcií. V OOP je prístupový člen triedy prostredníctvom členských funkcií triedy.
- V POP neexistuje koncept funkcie priateľa, zatiaľ čo v OOP existuje koncept priateľskej funkcie, ktorá nie je členom triedy, ale pretože je členom priateľa, má prístup k údajovým členom a členským funkciám triedy.
- Neexistuje koncept virtuálnych tried v POP, zatiaľ čo v OOP virtuálne funkcie podporujú polymorfizmus.
záver
Z nedostatkov POP vyplýva potreba OOP. OOP opravuje nedostatky POP zavedením pojmu "objekt" a "triedy". Zvyšuje bezpečnosť dát a automatickú inicializáciu a vyčistenie objektov. OOP umožňuje vytvárať viaceré inštancie objektu bez akéhokoľvek rušenia.