Python - Objekty

Obsah
V Objektově orientované programování, objekty jsou abstraktní reprezentace prvků, které definujeme prostřednictvím jejich atributů a které mají řadu metod, které nám umožňují s těmito atributy manipulovat a mít k nim přístup.
existovat 3 funkce které nám dávají důvod používat naše vlastní objekty místo toho, abychom se spoléhali na funkce, knihovny a globály, které nám jazyk zpřístupňuje, jsou to tyto:
  • Polymorfismus: použití stejných operací na různých objektech různých tříd.
  • Zapouzdření: skrýt jeho atributy před entitami mimo objekt, aby je mohl chránit.
  • Dědictví- Vytvořte konkrétnější objekty, které dědí základní atributy a metody obecnější vyšší třídy.

Tento termín znamená, že má mnoho forem, to znamená, že můžeme provádět operace, které budou fungovat odlišně v závislosti na typu nebo třídě objektu. Ukažme si jednoduchý příklad, představme si, že máme nákupní košík, poté definujeme, jak chceme získat údaje o ceně a požadovaný produkt, jak vidíme na následujícím obrázku, že vytváříme n -tici.

Co by se stalo, kdyby se rozšířila funkčnost nákupního košíku a nyní pracujeme s aukcemi, nějakým způsobem bychom měli určit hodnoty, které je třeba obdržet, a jak jednat při použití stejných metod, tak, jak by si mnozí mysleli je provést funkci následujícího formuláře, není však vhodné.

Jak vidíme na obrázku, pokrýváme možnosti okamžiku, ale co se stane, když se zvýší funkčnost, budeme muset tento kód neustále aktualizovat, to je místo, kde přichází polymorfismus a co děláme, definujeme, že každý objekt vrací svou cenu bez ohledu na to, jak je vypočítán, protože je něčím interním pro každou třídu, což by bylo následující:

Můžeme pak vidět, že je to něco, co nám pomáhá mít kód, který je v průběhu času odolnější a snáze se udržuje.
Tento spočívá ve skrývání vnitřních detailů třídy před vnějším světem, takže k němu mohou přistupovat pouze vlastní objekty a metody, tímto způsobem můžeme pracovat s třídami, aniž bychom museli znát jejich vnitřní fungování, což eliminuje složitost implementace a chrání logiku uvnitř našich objektů.
Také nám to umožňuje pracovat s ujištěním, že data v našem objektu nebudou změněna, protože pokud budou fungovat abstraktním způsobem, budeme moci vytvořit instanci vícekrát a každá instance je zcela individuální.
Podívejme se na příklad objektu, který není zapouzdřený:

Tady to vidíme, i když to tak bylo o1 který vytvořil soubor jména, o2 přistupovat ke stejnému názvu, aniž byste jej nastavili, to by v aplikaci bylo problematické, představme si, že potřebujeme cenu několika produktů a každý přepíše cenu předchozího.
Nyní se zapouzdřením podíváme na to, jak by fungoval celý tok programu.

Zde vidíme, že každý objekt si ponechává své jméno, takže víme, že můžeme bezpečně pracovat získáním správných hodnot pro každý z našich objektů.
wave wave wave wave wave