Rozdíl mezi OOP a POP

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 13 Smět 2024
Anonim
Rozdíl mezi OOP a POP - Technologie
Rozdíl mezi OOP a POP - Technologie

Obsah


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.

    1. Srovnávací tabulka
    2. Definice
    3. Klíčové rozdíly
    4. Výhody
    5. Nevýhody
    6. Závěr


Srovnávací tabulka

Základ Pro srovnáníPOPOOP
Základní
Orientace na postup / strukturu.
Objektově orientovaný.
Přístup Vzhůru nohama.Zdola nahoru.
ZákladHlavní 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.
DivizeVelký 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í / polymorfismusNepř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í datGlobá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, PascalC ++, 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í.
  1. POP je procedurálně orientované programování, zatímco OOP je objektově orientované programování.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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í.
  8. 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.
  9. 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.
  10. 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í.