Co je to třída a objekt v Golangu?

Co Je To Trida A Objekt V Golangu



Základní myšlenky v počítačovém programování jako třída a objekt poskytují strukturu pro seskupování kódu do opakovaně použitelných a adaptabilních modulů. Golang má svou vlastní výraznou syntaxi, vlastnosti a filozofii. Na rozdíl od jiných jazyků není řešení tak zřejmé, pokud jde o koncepty třída a objekt v Jít . V tomto článku prozkoumáme, zda má Go koncept třída a objekt a jak se porovnává s jinými programovacími jazyky.

Co je to třída a objekt?

Než odpovíme, zda Jít třídy a objektů , musíme nejprve definovat, co jsou v kontextu programování. A třída je model nebo šablona, ​​která nastiňuje vlastnosti a akce kolekce objektů . An objekt je vytvořen jako instance a třída když je alokována paměť a její stav je inicializován za běhu. Třídy a objektů jsou klíčovými stavebními kameny v klasických objektově orientovaných programovacích jazycích jako Java, C++ nebo C#, které podporují polymorfismus, dědičnost a zapouzdření.

Struktury v Golangu

v Jdi, třídy jsou nahrazeny uživatelem definovanými datovými typy tzv struktury. Tyto struktury kombinovat více prvků nebo vlastností a umožnit zahrnutí metod – funkcí, které fungují na instancích strukturovat. Zatímco struktury sdílet některé podobnosti s třídy jako je dědičnost a rozhraní, existují také výrazné rozdíly. Například, Jít nemá konstruktor – jedinečnou metodu, která inicializuje stav objektu při vytvoření, jak se obvykle vyskytuje v jazycích založených na třídách.







Rozhraní v Golangu

Jít má koncept, který je jako objektů : rozhraní . An rozhraní je kolekce metod, které popisují chování nebo funkcionalitu, ale bez upřesnění, jak jsou implementovány. Rozhraní poskytují způsob, jak dosáhnout polymorfismu v Jít , což umožňuje různé typy zaměnitelně, pokud splňují požadavky rozhraní. Toto je silný koncept, který umožňuje Jít dosáhnout vysokého stupně flexibility a rozšiřitelnosti bez obětování výkonu nebo jednoduchosti.



Použití struktur a rozhraní v Golangu

Následující příklad ilustruje použití strukturovat a rozhraní v Jít .



hlavní balíček
import 'fmt'

typu Člověk strukturovat {
jmenný řetězec
}

typu Dělník strukturovat {
Člověk
pracovní řetězec
}

func ( h Člověk ) Info ( ) {
fmt. Printf ( 'Jsem s \n ' , h. název )
}

func ( w Pracovník ) Info ( ) {
fmt. Printf ( 'Jsem %s. Jsem %s.' \n ' , V. název , V. práce )
}

rozhraní typu Osoba {
Info ( )
}
funcmain ( ) {
John := Pracovník { Člověk { 'John' } , 'pracovník' }
Srna := Člověk { 'Srna' }

John. Info ( )
Srna. Info ( )

byl osobně

i = John
i. Info ( )

i = Srna
i. Info ( )
}

Vytvořili jsme dvě struktury , Člověk a Pracovník , v kódu výše. Poté jsou vytvořeny funkce, které zprávy tisknou. The struktury jsou nazývány v hlavní () funkce Osoba rozhraní . Můžeme vidět, že Info metoda byla implementována oběma Pracovník a Člověk , tedy proměnná i s typem Osoba rozhraní bude fungovat správně a vytiskne výstup.





Výstup



Jít má jedinečný přístup zapouzdření . Zapouzdření je dosaženo v konvenčním objektově orientovaném programování tím, že pole se stává soukromým a zpřístupňuje se pomocí metod getter a setter. v Jít , zapouzdření je dosaženo použitím malých názvů polí, které jsou viditelné pouze ve stejném balíčku. Tato strategie je přímočařejší a jednoznačnější, což usnadňuje pochopení toho, jak se kód chová, a snižuje možnost nepředvídaných vedlejších účinků.

Jít poskytuje zjednodušenou formu polymorfismus . Objektově orientované programování má funkci tzv polymorfismus což umožňuje, aby se s objekty z různých tříd zacházelo jako s instancemi stejné třídy. Jít neposkytuje konvenční dědičnost na základě tříd, ale podporuje rozhraní, která lze použít k určení sady metod, které musí struktura implementovat. Jít také nabízí typová tvrzení, která umožňují programátorům prozkoumat obsah proměnné rozhraní a získat základní konkrétní hodnotu.

Závěr

Jít nemá třídy nebo objektů v klasickém smyslu; místo toho používá struktury a rozhraní , které nabízejí srovnatelné funkce přímočařejším a lehčím způsobem. Jít si získal oblibu mezi vývojáři, kteří upřednostňují jednoduchost, čitelnost a výkon přijetím jiné filozofie a gramatiky. I když seznamování s Go's Metodologie může nějakou dobu trvat, její charakteristické rysy a design vedou k efektivnějšímu a udržitelnějšímu kódu.