Existují i další rozdíly, které lze vysvětlit pomocí srovnávací tabulky.
Srovnávací graf
Základ Pro srovnání | POP | OOP |
---|---|---|
Základní | Postup / Orientace struktury. | Objektově orientované. |
Přístup | Vzhůru nohama. | Bottom-up. |
Základ | Hlavní 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. |
Divize | Velký 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í / polymorfismus | Ani 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í dat | Globá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ří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 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
- POP je programově orientované programování, zatímco OOP je objektově orientované programování.
- 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.
- 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.
- 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. .
- 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.
- 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.
- 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í.
- 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.
- 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.
- 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í.