Articles

Zavedení objektově orientovaných programovacích jazyků: průvodce

objektově orientované programovací jazyky používají objekty, které obsahují data i kód. Principy objektově orientovaného programování jsou zapouzdření, abstrakce, polymorfismus a dědičnost.

objektově orientované programovací jazyky (OOP) jsou všude, kam se podíváme. Mnoho z nejpoužívanějších kódovacích jazyků, které dnes tvoří výpočetní svět, je objektově orientováno. Ve skutečnosti je mnoho počítačových programů a velká část obsahu na webu postavena na objektově orientovaných jazycích na vysoké úrovni. Pochopení toho, jak objektově orientované jazyky fungují a proč jsou užitečné, je důležité pro téměř každou kariéru v oblasti výpočetní techniky.

v tomto článku se podíváme na to, co jsou objektově orientované jazyky, a prozkoumáme jejich výhody a nevýhody. Podíváme se také na užší seznam některých z nejpopulárnějších jazyků OOP, které se dnes používají.

co je programovací jazyk?

programovací jazyk je soubor pravidel a postupů, které umožňují programátorům dát počítačům sadu instrukcí k provedení. Každý programovací jazyk má svou vlastní syntaxi, která vám po naučení umožňuje říct počítači, jaké úkoly by měl provádět.

formulář-podání
Najděte si Svůj Bootcamp Zápas
  • Kariérní Karma zápasy s top tech bootcamps
  • Získat exkluzivní stipendia a příprava kurzů

Přemýšlejte o tom tímto způsobem. Angličtina je jazyk, který vám umožňuje komunikovat s mluvčími angličtiny. Když znáte základní pravidla angličtiny, můžete mluvit s kýmkoli jiným, kdo rozumí stejným pravidlům. Počítače však nerozumí angličtině ani jinému „tradičnímu“ jazyku.

co jsou objektově orientované programovací jazyky?

počítače jsou výkonné stroje. S počítačem můžeme vypočítat čísla velmi rychle a jsme schopni vytvořit úžasné programy pro mnoho aplikací. Abychom však mohli využít této síly, musíme komunikovat s počítačem, je něco méně bolestivého než ruční psaní jedniček a nul.

proto máme programovací jazyky, které jsou podepřeny již napsaným strojovým kódem. Čím více se však odstraníme ze strojového kódu, tím abstraktnější a specializovanější jazyky se stávají při manipulaci s daty. Proto máme tolik jazyků; žádný jazyk není dokonalý a všechny mají různé a překrývající se aplikace.

programovací paradigmata

k této poznámce jsou programovací jazyky často odděleny svým programovacím paradigmatem. Programovací paradigma je jedním ze způsobů pohledu na data a přístupu k nim. Dvě primární paradigmata jsou objektově orientovaná a funkční, i když existuje mnoho dalších (včetně některých, které jsou základními principy výše uvedeného).

objektově orientované programování je postaveno na objektech, což jsou datové struktury, které obsahují jak data (Vlastnosti nebo atributy), tak kód (postupy nebo metody). Objekty se mohou modifikovat pomocí „tohoto“ nebo „já“.’Ve většině jazyků OOP je téměř vše objekt, který může mít hodnoty i spustitelný kód. Každý objekt je jedinečný, a ačkoli to může být kopie jiného objektu, jeho proměnné se mohou lišit od proměnných jakéhokoli jiného objektu.

objekty v objektově-orientovaný software, design může být myšlenka jako skutečné objekty. Myslete na objekt, jako hodinky. Ty hodinky mají vlastnosti. Je vyroben z kovu, je černý, má specifickou hmotnost. Ale ten objekt také dělá věci. Zobrazuje čas a také se může ovlivnit otáčením ozubených kol, aby změnil polohu svých rukou.

Další vlastností objektů je, že nemusíme vždy vědět, jak hodinky fungují, aby fungovaly. Za předpokladu, že hodinky jsou dobře postavené, spolehlivě řeknou čas, aniž bychom museli zasahovat do jeho vnitřního fungování.

objektově orientované jazyky mají objekty podobné objektům reálného světa. Mohou mít vlastnosti a funkce. Mají také tendenci dodržovat určitý soubor zásad.

objektově orientované programovací principy

objektově orientované jazyky mají čtyři principy. Tyto čtyři principy jsou společné vlastnosti, které je definují a činí je výrazně efektivnějšími. Někteří lidé jim říkají čtyři pilíře objektově orientovaného programování.

čtyři pilíře objektově orientovaného programování jsou:

  1. Zapouzdření
  2. Abstrakce
  3. Dědičnost
  4. Polymorfismus

Čtyři Principy

Pojďme prozkoumat tyto čtyři principy do větší hloubky.

  • Encapsulation – Zapouzdření je koncept vázání dat funkce, které fungují jako bezpečnostní funkce, udržet data v bezpečí. Například mnoho jazyků OOP brání přístupu k těmto datům jiným než specifickým metodám ve třídě, které vlastní data. To se často provádí výslovně, aby byla určitá data v bezpečí.
  • abstrakce-abstrakce je myšlenka, že pokud děláte jednu věc příliš často, měla by to být její vlastní entita. Například, pokud programátor opakovaně přepisuje stejnou funkci pro různé objekty, tato funkce by mohla být abstrahována, aby se stala vlastní entitou.
  • dědičnost-dědičnost je to, jak to zní, a je nejčastěji definována jako vztah“ je“. Umožňuje určité třídy být pod záštitou jiných tříd. Tyto třídy mohou zdědit informace a funkčnost z této třídy a zároveň mohou tuto funkci rozšířit. Umožňuje nám znovu použít kód, který jsme již zadali v jiných třídách.
  • polymorfismus-polymorfismus znamená “ mít více než jeden tvar.“Ve smyslu jazyků OOP se odkazuje na schopnost zacházet s objekty odlišně v závislosti na tom, jaké jsou. Umožňuje nám definovat různé metody pro manipulaci s objekty na základě jejich odvozené třídy. Pokud bychom například potřebovali najít velikost něčeho, mohli bychom změnit způsob měření na základě toho, co to je. Pokud je to prkno ze dřeva, změřil bych to v palcích. To je na rozdíl od objemu vody, který bych změřil podle hmotnosti. Pokud používáme polymorfismus, můžeme vytvořit funkci, která může přijmout buď objekt a stále nám normální měření.

Populární Objektově Orientované Programovací Jazyky

Java, Python, C++, Lisp, Perl jsou všechny příklady populární objektově orientované programovací jazyky. Podporují programování pomocí paradigmatu tříd a objektů.

pět z nejpopulárnějších objektově orientovaných jazyků patří:

  1. Java
  2. Python
  3. C++

  4. Ruby
  5. C#
  • Java-Java je všude a je to jeden z nejpoužívanějších a nejžádanějších jazyků všech dob. Motto Java je „napsat jednou, spustit kdekoli“, což se odráží v počtu platforem, na kterých běží, a na místech, kde se používá.
  • Python-Python je univerzální a používá se na mnoha místech. Python má však silnou oporu ve strojovém učení a datové vědě. Je to jeden z preferovaných jazyků pro toto nové a stále rostoucí pole.
  • C++ – C++má rychlost C s funkčností tříd a objektově orientovaným paradigmatem. Je to zkompilovaný, spolehlivý a silný jazyk. Ve skutečnosti se dokonce používá k vytváření kompilátorů a tlumočníků pro jiné jazyky.
  • Ruby-Ruby je další univerzální programovací jazyk. Byl postaven pro jednoduchost. S tím bylo řečeno, Ruby je neuvěřitelně silný jazyk. Tvůrce Ruby, Yukihiro „Matz“ Matsumoto, řekl: „Ruby má velmi jednoduchý vzhled ,ale uvnitř je velmi složitý, stejně jako naše lidské tělo.“
  • C# – C # je programovací jazyk navržený společností Microsoft. Byl navržen tak, aby zlepšil stávající koncepty v C. C# pohání Microsoft. NET framework spolu s mnoha webovými aplikacemi, hrami, stolními aplikacemi a mobilními aplikacemi.

existují další objektově orientované jazyky, které jsme nepokryli výše. Perl, Objective-C, Dart, Lisp, JavaScript a PHP jsou také objektově orientované nebo podporují objektově orientované principy.

klady a zápory objektově orientovaných programovacích jazyků

i když jazyky OOP mohou být silné, nejsou užitečné pro každou situaci a přicházejí s nějakým zavazadlem, které je třeba vzít v úvahu.

Pros

opakovatelnost

objektově orientovaný kód je konstrukčně extrémně modulární. Kvůli polymorfismu a abstrakci můžete vytvořit jednu funkci, kterou lze použít znovu a znovu. Můžete také kopírovat informace a funkce, které již byly napsány s dědičností. To šetří čas, snižuje složitost, šetří místo a dělá kódování lehčí zátěž na našich prstech.

paralelní vývoj

existuje dostatek základů pro to, aby části programu byly vyvíjeny odděleně od sebe a stále fungovaly podle objektově orientovaných principů. To usnadňuje souběžný vývoj větším vývojovým týmům.

Údržba

Protože většina, ne-li všechny naše kód je na jednom místě, být volal a znovu, že kód je mnohem jednodušší na údržbu. Místo toho, abychom museli individuálně opravit sto různých instancí, kde je funkce volána, můžeme opravit jednu modulární a polymorfní funkci.

Zabezpečení

Zatímco většina jazyků má nějaké zabezpečení, objektově orientované jazyky jsou výhodné, protože bezpečnost je vestavěný s zapouzdření. Jiné metody a třídy nemohou ve výchozím nastavení přistupovat k soukromým datům a programy napsané v jazycích OOP jsou pro ně bezpečnější.

modularita

objektově orientované programovací jazyky rozdělují aplikaci na objekty a třídy. To je výhodné, protože dává vaší aplikaci modulární strukturu. Modulární kód je čitelnější. Proto je snadnější udržovat.

Zápory

Často Chaotický

Protože objektově orientované jazyky jsou tak přizpůsobitelné a škálovatelné, to může být snadné ztratit pochopení toho, jak kód funguje. OOP kód může fungovat mnoha způsoby. Existuje mnoho metodik pro programování v OOP, které nefungují dobře s jinými metodikami, jsou neefektivní nebo se obtížně používají.

Vyžaduje Více Plánování

Protože tyto jazyky jsou tak modulární a škálovatelné, bez jasný design dopředu je recept na katastrofu. Vytvoření efektivního programu vyžaduje solidní plán, více než u jiných programovacích paradigmat.

neprůhlednost

Toto je stejně pro jako con. objekty a funkce mohou pracovat nezávisle. Mohou přijímat informace a (obvykle) vracet spolehlivé výsledky. Jako výsledek, mohou skončit jako černé skříňky, což znamená, že to, co dělají, není vždy zřejmé. Zatímco programátor pravděpodobně vytvořil tento objekt a ví, co dělá, jazyky OOP prostě nejsou tak průhledné jako jiné jazyky.

Performance

objektově orientované jazyky mají často výkonnostní hit. Programy vytvořené v jazycích OOP jsou často větší a vyžadují více výpočetního úsilí než funkční jazyky. To však není vždy pravda nebo důležité. C++ je jazyk OOP, ale je to jeden z nejrychlejších dostupných jazyků. Na stejné poznámce, rychlost není vždy důležitá. Rozdíl v rychlosti se projeví pouze při zpracování obrovských nebo složitých výpočtů nebo v případech, kdy je vyžadována extrémní rychlost.

Nyní máte pevný přehled o tom, co je objektově orientovaný jazyk, k čemu je dobrý a které jsou nejoblíbenější. Programování v těchto jazycích může být stejně příjemné, jak je ziskové, a vaše kariéra ve vývoji je jen pár kroků.