Objektově orientované programování vs. procedurální programování
Objektově orientované programování (OOP) a procedurální programování jsou dvě programovací paradigmata. Programovací paradigma je základní styl počítačového programování a liší se ve způsobu, jakým jsou zastoupeny různé prvky programu a jak jsou definovány kroky pro řešení problémů. Jak název napovídá, OOP se zaměřuje na reprezentaci problémů pomocí objektů v reálném světě a jejich chování, zatímco procedurální programování se zabývá reprezentací řešení problémů pomocí procedur, což jsou kolekce kódu, které běží ve specifickém pořadí. Existují programovací jazyky, které podporují klíčové aspekty OOP (nazývané OOP jazyky), procedurální (nazývané procedurální jazyky) a obojí. Jednou důležitou věcí, kterou je třeba poznamenat, je, že OOP a procedurální jsou dva způsoby, jak reprezentovat problémy, které je třeba vyřešit, a nezáleží na tom, který jazyk se používá. Jinými slovy, OOP jazyky mohou být použity pro procedurální programování, zatímco procedurální jazyky mohou být někdy použity pro OOP, s určitým úsilím.
Procedurální programování je způsob programování určením souboru kroků k vyřešení určitého problému a přesného pořadí, v jakém by měly být provedeny, aby dosáhly požadovaného výsledku nebo stavu. Pokud například chcete vypočítat konečný zůstatek na konci měsíce pro bankovní účet, budou požadované kroky následující. Nejprve získáte počáteční zůstatek na účtu a poté snížíte všechny debetní částky, ke kterým došlo v průběhu měsíce. Poté přidáte všechny částky kreditu, ke kterým došlo v průběhu měsíce. Na konci procesu obdržíte konečný zůstatek na konci měsíce. Jedním z hlavních konceptů procedurálního programování je volání procedury. Procedura známá také jako podprogram, metoda nebo funkce obsahuje uspořádaný seznam instrukcí, které mají být provedeny. Postup může být vyvolán kdykoli během provádění jiným postupem nebo sám. Příklady procedurálních programovacích jazyků jsou C a Pascal.
V OOP je kladen důraz na přemýšlení o problému, který má být vyřešen z hlediska prvků reálného světa, a představuje problém z hlediska objektů a jejich chování. Objekt je datová struktura, která se velmi podobá některému reálnému objektu. Objekty obsahují datová pole a metody, které představují atributy a chování skutečných objektů. Existuje několik důležitých konceptů OOP, jako je abstrakce dat, zapouzdření, polymorfismus, zasílání zpráv, modularita a dědičnost. Některé populární OOP jazyky jsou Java a C #. Lze je však také použít k provádění procedurálního programování.
Klíčový rozdíl mezi OOP a procedurálním programováním spočívá v tom, že cílem procedurálního programování je rozdělit programovací úkol na kolekci proměnných a podprogramů, zatímco OOP je rozdělit programovací úkol na objekty, které zapouzdřují data. a metody. Nejvýznamnější rozdíl by mohl být v tom, že zatímco procedurální programování používá procedury k přímému fungování na datových strukturách, OOP spojí data a metody dohromady, takže objekt bude pracovat na svých vlastních datech. Pokud jde o nomenklaturu, procedura, modul, vyvolání procedury a proměnná v procedurálním programování se v OOP často označují jako metoda, objekt, zpráva a atribut..