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é.
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í.
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.