Rozdíl mezi OOP a POP
Obsah
Srovnávací tabulka- Definice objektově orientovaného programování (OOP)
- Object-Oriented Concepts
- Definice procedurálně orientovaného programování (POP)
- POP vlastnosti
- Výhody
- Nevýhody
- Závěr
Postupně orientované programování (POP) a Objektově orientované programování (OOP) oba jsou přístupy k programování, které pro programování používají jazyk vysoké úrovně. Program lze psát v obou jazycích, ale pokud je úkol velmi složitý, OOP funguje dobře ve srovnání s POP. V POP je „zabezpečení dat“ ohroženo, protože se data volně pohybují v programu, a „opětovně použitelnost kódu“ není dosažena, což činí programování zdlouhavým a těžko pochopitelným.
Velké programy vedou k většímu počtu chyb a prodlužují dobu ladění. Všechny tyto nedostatky vedou k novému přístupu, konkrétně k „objektově orientovanému programování“. V objektově orientovaném programování je hlavní pozornost věnována ‘bezpečnost dat'; váže data úzce k funkcím, které s nimi pracují. Řeší také problém ‘opakovaná použitelnost kódu', Jako by byla vytvořena třída, lze vytvořit její více instancí (objektů), které znovu používají členy a funkce členů definované třídou.
Existují některé další rozdíly, které lze vysvětlit pomocí srovnávací tabulky.
-
- Srovnávací tabulka
- Definice
- Klíčové rozdíly
- Výhody
- Nevýhody
- Závěr
Srovnávací tabulka
Základ Pro srovnání | POP | OOP |
---|---|---|
Základní | Orientace na postup / strukturu. | Objektově orientovaný. |
Přístup | Vzhůru nohama. | Zdola nahoru. |
Základ | Hlavní důraz je kladen na „jak úkol splnit“, tj. Na postup nebo strukturu programu. | Hlavní důraz je kladen na zabezpečení dat. Proto mají přístup pouze k entitám třídy. |
Divize | Velký program je rozdělen do jednotek nazývaných funkce. | Celý program je rozdělen na objekty. |
Režim přístupu k entitě | Nebyl pozorován žádný specifikátor přístupu. | Specifikátor přístupu je „veřejný“, „soukromý“, „chráněný“. |
Přetížení / polymorfismus | Nepřetíží ani funkce, ani operátory. | Přetíží funkce, konstruktéry a operátory. |
Dědictví | Nejedná se o ustanovení o dědictví. | Dědičnost dosažená ve třech režimech veřejně soukromých a chráněných. |
Skrytí dat a zabezpečení | Neexistuje žádný správný způsob, jak skrýt data, takže data jsou nejistá | Data jsou skrytá ve třech režimech: veřejná, soukromá a chráněná. tím se zvyšuje bezpečnost dat. |
Sdílení dat | Globální data jsou sdílena mezi funkcemi v programu. | Data jsou mezi objekty sdílena prostřednictvím členských funkcí. |
Funkce / třídy přátel | Žádný koncept funkce přítele. | Třídy nebo funkce se mohou stát přítelem jiné třídy s klíčovým slovem „přítel“. Poznámka: Klíčové slovo „přítel“ se používá pouze v jazyce c ++ |
Virtuální třídy / funkce | Žádný koncept virtuálních tříd. | Během dědičnosti se objevuje pojem virtuální funkce. |
Příklad | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definice objektově orientovaného programování (OOP)
Hlavním zájmem OOP je skrýt data před nečlenskými funkcemi třídy, s nimiž se zachází jako s „kritickými informacemi“. Data jsou úzce spjata s členskými funkcemi třídy, která na ní pracuje. Nepovoluje žádnému nečlenovi funkci upravovat data v něm. Objekty interagují spolu navzájem prostřednictvím členských funkcí pro přístup k jejich datům.
OOP je vyvíjen na základním pojmu „objekt“, „třídy“, „zapouzdření nebo abstrakce dat“, „dědičnost“ a „polymorfismus / přetížení“. V OOP lze programy rozdělit na moduly rozdělením dat a funkcí, které lze v případě potřeby dále použít jako šablony pro vytváření nových kopií modulů. Jedná se tedy o přístup, který usnadňuje modularizaci programů vytvořením oblasti dělené paměti pro data a funkce.
Object-Oriented Concepts
- Objekty: Je považován za proměnnou třídy type a instance třídy.
- Třída: Je to sada objektů podobného typu. Kompletní sada dat a kódu objektu vytváří uživatelem definovaný datový typ pomocí třídy.
- Abstrakce a zapouzdření dat: Abstrakce není nic jiného než metoda skrytí detailů na pozadí a představování základních funkcí. Zapouzdření je způsob zabalení dat a funkcí do jediné jednotky.
- Dědictví: Dědičnost je technika získávání vlastností objektů z jedné třídy do druhé třídy. Jinými slovy, pomáhá při odvozování nové třídy ze stávající.
- Polymorfismus: Polymorfismus poskytuje metodu vytváření více forem funkce pomocí jediného názvu funkce.
- Dynamická vazba: Určuje, že kód spojený s konkrétní procedurou není znám až do okamžiku hovoru v době spuštění.
- kolem: Tento koncept OOP umožňuje interakci mezi různými třídami prostřednictvím přenosu a přijímání informací.
Definice procedurálně orientovaného programování (POP)
POP je konvenční způsob programování. Procedurální programování je místo, kde je hlavní důraz kladen na to, aby se úloha prováděla v sekvenčním pořadí. Vývojový diagram organizuje tok řízení programu. Pokud je program rozsáhlý, je strukturován do některých malých jednotek nazývaných funkce, které sdílejí globální data. V tomto případě vyvstává obava o zabezpečení dat, protože funkce neúmyslně mění program.
POP vlastnosti
- Při navrhování programu se POP řídí přístupem programování shora dolů.
- Většina funkcí umožňuje sdílení globálních dat.
- Rozděluje také větší programy do menších částí nazývaných funkce.
- Umožňuje volný pohyb dat po systému od funkcí k funkcím.
- Data jsou transformována funkcemi z jedné formy do druhé.
- Dává význam konceptu funkcí.
- POP je procedurálně orientované programování, zatímco OOP je objektově orientované programování.
- Hlavním zaměřením POP je „jak úkol splnit“Splňuje úkol vývojový diagram. Hlavní zaměření OOP je bezpečnost dat protože pouze objekty třídy mají přístup k atributům nebo funkci třídy.
- funkce jsou malé jednotky velkých programů nebo podprogramů, které provedou hlavní úkol. Naproti tomu OOP atributy a funkce třídy jsou rozděleny mezi objekty.
- V POP neexistuje žádný specifický přístupový režim pro přístup k atributům nebo funkcím v programu. Naopak v OOP existují tři přístupové režimy „veřejný“, „soukromý“, „chráněný“, které se používají jako metoda přístupu k přístupu k atributům nebo funkcím.
- POP nepodporuje koncept přetížení / polymorfismu. OOP naopak podporuje přetížení / polymorfismus, což znamená použití stejného názvu funkce pro provádění různých funkcí. V OOP můžeme přetížit funkce, konstruktor a operátory.
- V POP neexistuje žádná koncepce dědičnosti, zatímco OOP podporuje dědičnost, která umožňuje zdědit použití atributu a funkcí jiné třídy.
- POP je méně bezpečný ve srovnání s OOP, protože v OOP omezovač přístupu omezuje přístup k atributům nebo funkcím, které zvyšují zabezpečení.
- V POP, pokud mají být některá data sdílena mezi všemi funkcemi v programu, je deklarována globálně mimo všechny funkce. V OOP je datový člen třídy přístupný prostřednictvím členských funkcí třídy.
- V POP neexistuje žádná koncepce funkce přítele. Naproti tomu v OOP existuje koncept funkce přítele, který není členem třídy, ale protože je členem, může přistupovat k datovému členu a členským funkcím třídy.
- V POP neexistuje koncept virtuálních tříd, zatímco v OOP virtuální funkce podporují polymorfismus.
Výhody
POP (procedurálně orientované programování)
- Poskytuje možnost znovu použít stejný kód na různých místech.
- Usnadňuje sledování toku programu.
- Schopný konstruovat moduly.
OOP (Object Oriented Programming)
- Objekty pomáhají při dělení úloh v projektu.
- Zabezpečené programy lze vytvořit pomocí skrytí dat.
- Může potenciálně mapovat objekty.
- Umožňuje roztřídění objektů do různých tříd.
- Objektově orientované systémy lze snadno upgradovat.
- Redundantní kódy lze eliminovat pomocí dědičnosti.
- Kódy lze rozšířit pomocí opakovaného použití.
- Lze dosáhnout větší modularity.
- Abstrakce dat zvyšuje spolehlivost.
- Flexibilní díky konceptu dynamické vazby.
- Odděluje základní specifikaci od její implementace pomocí skrytí informací.
Nevýhody
POP (procedurálně orientované programování)
- Globální data jsou zranitelná.
- Data se mohou volně pohybovat v rámci programu
- Je těžké ověřit polohu dat.
- Funkce jsou zaměřeny na akce.
- Funkce se nemohou vztahovat k prvkům problému.
- Problémy reálného světa nelze modelovat.
- Části kódu jsou vzájemně závislé.
- Jeden kód aplikace nelze použít v jiné aplikaci.
- Data jsou přenášena pomocí funkcí.
OOP (Object Oriented Programming)
- Vyžaduje to více zdrojů.
- Dynamické chování objektů vyžaduje paměť RAM.
- Detekce a ladění je složitější aplikace při provádění předávání obtížnější.
- Dědičnost dělá jejich třídy pevně spojené, což ovlivňuje opakovatelnost objektů.
Závěr
Nedostatky POP vzbuzují potřebu OOP. OOP opravuje nedostatky POP zavedením pojmu „objekt“ a „třídy“. Zvyšuje zabezpečení dat a automatickou inicializaci a vymazání objektů. OOP umožňuje vytvořit více instancí objektu bez jakéhokoli rušení.