Doporučená, 2019

Redakce Choice

Rozdíl mezi OOP a POP

Procedurálně orientované programování (POP) a objektově orientované programování (OOP) jsou oba programovací přístupy, které využívají jazyk na vysoké úrovni pro programování. Program může být napsán v obou jazycích, ale pokud je úkol velmi složitý, OOP pracuje ve srovnání s POP. V POP je „bezpečnost dat“ ohrožena, protože se data v programu volně pohybují, stejně jako „opakované použití kódu“ není dosaženo, což činí programování zdlouhavým a těžko srozumitelným. Velké programy vedou k dalším chybám a prodlužují dobu ladění. Všechny tyto nedostatky vedou k novému přístupu, a to „objektově orientovanému programování“. V objektově orientovaném programování je hlavní pozornost věnována bezpečnosti dat; váže data těsně k funkcím, které na ní pracují. Rovněž řeší problém „opakované použití kódu“, protože pokud je vytvořena třída, lze vytvořit více instancí (objektů), které znovu použijí členy a členské funkce definované třídou.

Existují i ​​další rozdíly, které lze vysvětlit pomocí srovnávací tabulky.


Srovnávací graf
Základ Pro srovnáníPOPOOP
Základní
Postup / Orientace struktury.
Objektově orientované.
PřístupVzhůru nohama.Bottom-up.
ZákladHlavní důraz je kladen na "způsob, jak dostat úkol", tj. Na postup nebo strukturu programu.Hlavní důraz je kladen na „bezpečnost dat“. Přístup k entitám třídy je tedy povolen pouze objektům.
DivizeVelký program je rozdělen do jednotek nazývaných funkce.Celý program je rozdělen do objektů.
Režim přístupu k entitěNebyl pozorován žádný specifikátor přístupu.
Specifikátor přístupu je "public", "private", "protected".
Přetížení / polymorfismusAni funkce přetížení ani operátory.Přetíží funkce, konstruktéry a operátory.
DědictvíNení to dědictví.Dědictví bylo dosaženo ve třech režimech veřejně soukromých a chráněných.
Ukrývání dat a zabezpečeníNeexistuje žádný správný způsob, jak data skrýt, takže data jsou nejistáData jsou skryta ve třech režimech veřejných, soukromých a chráněných. bezpečnost dat se tedy zvyšuje.
Sdílení datGlobální data jsou sdílena mezi funkcemi v programu.Data jsou sdílena mezi objekty prostřednictvím členských funkcí.
Funkce / třídy přátelŽádné pojetí 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.Koncept virtuální funkce se objeví během dědictví.
PříkladC, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.

Definice objektově orientovaného programování (OOP)

Hlavním zájmem OOP je skrýt data z nečlenských funkcí třídy, s nimiž se zachází jako s „kritickými informacemi“. Data jsou úzce vázána na členské funkce třídy, která na ní působí. Nepovoluje žádné nečlenské funkce měnit data uvnitř něj. Objekty komunikují mezi sebou prostřednictvím členských funkcí pro přístup k jejich datům.

OOP je vyvinut na základním pojetí „objektu“, „tříd“, „zapouzdření dat nebo abstrakce“, „dědičnosti“ a „polymorfismu / přetížení“. V OOP lze programy rozdělit na moduly rozdělením dat a funkcí, které lze dále použít jako šablony pro vytváření nových kopií modulů, pokud je to nutné.

Definice procedurálně orientovaného programování (POP)

POP je konvenční způsob programování. Procesní programování je tam, kde je primárním zaměřením na získání úkolu v sekvenčním pořadí. Vývojový diagram organizuje tok řízení programu. Pokud je program velký, je strukturován v některých malých jednotkách nazývaných funkce, které sdílejí globální data. Vzniká zde otázka bezpečnosti dat, protože v programu dochází k neúmyslné změně funkcí.

Klíčové rozdíly mezi OOP a POP

  1. POP je programově orientované programování, zatímco OOP je objektově orientované programování.
  2. Hlavní zaměření POP je na "jak se dostat úkol hotový" následuje vývojový diagram, aby se úkol. Hlavní zaměření OOP je na zabezpečení 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ů, které se provádějí, aby dosáhly hlavního úkolu. V 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, zatímco v OOP existují tři režimy přístupu „veřejný“, „soukromý“, „chráněný“, které jsou používány jako přístup ke sdílené položce pro přístup k atributům nebo funkcím. .
  5. POP nepodporuje koncept přetížení / polymorfismu. OOP podporuje Overloading / Polymorphism a což znamená použití stejného názvu funkce pro provádění různých funkcí. Můžeme přetížit funkce, konstruktor a operátory v OOP.
  6. Neexistuje žádný koncept dědičnosti v POP, zatímco OOP podporuje dědičnost, která umožňuje použití atributu a funkcí jiné třídy zděděním.
  7. POP je ve srovnání s OOP méně bezpečný, 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 lze přistupovat k datovému členu třídy prostřednictvím členských funkcí třídy.
  9. V POPu neexistuje žádný koncept funkce přítele, zatímco v OOP existuje koncept funkce přítele, který není členem třídy, ale protože je to přítel, může přistupovat k datovým členům 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.

Závěr

Vady POP vyvolávají potřebu OOP. OOP koriguje nedostatky POP zavedením konceptu „object“ a „classes“. Zvyšuje bezpečnost dat a automatickou inicializaci a vymazání objektů. OOP umožňuje vytvářet více instancí objektu bez jakéhokoliv rušení.

Top