Objektově orientované programování vs. procedurální programování
Objektově orientované programování (OOP) a procedurální programování jsou dvě paradigmata programování. Programovací paradigma je základní styl počítačového programování a liší se způsobem reprezentace různých prvků programu a definováním kroků k řešení problémů. Jak název napovídá, OOP se zaměřuje na reprezentaci problémů s použitím objektů reálného světa 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ěží v určitém pořadí. Existují programovací jazyky, které podporují klíčové aspekty OOP (nazývané jazyky OOP), procedurální (nazývané procedurální jazyky) a obojí. Je však důležité si uvědomit, že OOP a Procedural jsou dva způsoby, jak reprezentovat problémy, které mají být vyřešeny, a nezáleží na tom, jaký jazyk je použit. 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í, ve kterém by měly být provedeny k dosažení požadovaného výsledku nebo stavu. Chcete-li například vypočítat konečný zůstatek na konci měsíce pro bankovní účet, budou vyžadovány následující kroky. Nejprve získáte počáteční zůstatek na účtu a poté snížíte všechny částky debetu, ke kterým došlo během měsíce. Poté přidáte všechny částky kreditu, ke kterým došlo během měsíce. Na konci procesu získáte konečný zůstatek účtu na konci měsíce. Jedním z hlavních konceptů procedurálního programování je volání procedur. Procedura známá také jako podprogram, metoda nebo funkce obsahuje seřazený seznam pokynů, které je třeba provést. Proceduru lze vyvolat kdykoli během provádění jakýmkoli jiným postupem nebo samotnou procedurou. Příklady procedurálních programovacích jazyků jsou C a Pascal.
V OOP se zaměřuje na přemýšlení o problému, který má být vyřešen, z hlediska prvků reálného světa a reprezentaci problému z hlediska objektů a jejich chování. Objekt je datová struktura, která se velmi podobá nějakému reálnému objektu. Objekty obsahují datová pole a metody, které představují atributy a chování objektů v reálném světě. Existuje několik důležitých konceptů OOP, jako je Abstrakce dat, Zapouzdření, Polymorfismus, Zprávy, Modularita a Dědičnost. Některé populární jazyky OOP jsou Java a C #. Lze je však také použít k provádění procedurálního programování.
Klíčovým rozdílem mezi OOP a procedurálním programováním je to, že procedurální programování se zaměřuje na rozdělení programovacího úkolu na kolekci proměnných a podprogramů, zatímco OOP se zaměřuje na rozdělení programovacího úkolu na objekty, které zapouzdřují data a metody. Nejpozoruhodnějším rozdílem může být to, že zatímco procedurální programování používá procedury pro přímý provoz na datových strukturách, OOP spojí data a metody dohromady, takže objekt bude fungovat na svých vlastních datech. Pokud jde o nomenklaturu, procedura, modul, volání procedury a proměnná v procedurálním programování se v OOP často označují jako metoda, objekt, zpráva a atribut.