Mi az osztály és tárgy Golangban?

Mi Az Osztaly Es Targy Golangban



Alapvető ötletek a számítógépes programozásban, mint pl osztály és tárgy struktúrát biztosítanak a kód újrafelhasználható és adaptálható modulokba történő csoportosításához. Golang megvan a maga jellegzetes szintaxisa, jellemzői és filozófiája. Más nyelvekkel ellentétben a megoldás nem olyan kézenfekvő, ha a fogalmakról van szó osztály és tárgy ban ben Megy . Ebben a cikkben megvizsgáljuk, hogy a Go-nak van-e fogalma osztály és egy tárgy és hogyan viszonyul más programozási nyelvekhez.

Mi az osztály és az objektum?

Mielőtt megválaszolhatnánk, hogy vajon Megy van osztályok és tárgyakat , először meg kell határoznunk, hogy mik ezek a programozással összefüggésben. A osztály egy olyan modell vagy sablon, amely felvázolja egy gyűjtemény jellemzőit és műveleteit tárgyakat . An tárgy példányaként jön létre a osztály amikor a memória le van foglalva és állapota futás közben inicializálva van. osztályok és tárgyakat kulcsfontosságú építőkövei a klasszikus objektum-orientált programozási nyelveknek, mint például a Java, C++ vagy C#, amelyek támogatják a polimorfizmust, az öröklődést és a beágyazást.

Struktúrák Golangban

Ban ben Menjetek, osztályok nevű felhasználó által definiált adattípusok váltják fel struktúrák. Ezek struktúrák kombináljon több elemet vagy tulajdonságot, és lehetővé tegye metódusok – függvények, amelyek a példányain működnek struct. Míg struktúrák ossza meg néhány hasonlóságot osztályok mint az öröklődés és az interfészek, szintén jelentős különbségek vannak. Például, Megy nem rendelkezik konstruktorral – ez egy egyedi metódus, amely inicializálja az objektum állapotát a létrehozáskor, ahogy az általában az osztályalapú nyelvekben található.







Interfészek Golangban

Megy van egy olyan koncepciója, mint tárgyakat : interfészek . An felület olyan metódusok gyűjteménye, amelyek leírnak egy viselkedést vagy funkcionalitást, de anélkül, hogy meghatároznák a megvalósítás módját. Interfészek módot ad a polimorfizmus elérésére Megy , lehetővé téve a különböző típusok felcserélhető használatát, ha megfelelnek az interfész követelményeinek. Ez egy erőteljes koncepció, amely lehetővé teszi Megy nagyfokú rugalmasság és bővíthetőség elérése érdekében a teljesítmény vagy az egyszerűség feláldozása nélkül.



Struktúrák és interfészek használata Golangban

A következő példa a használatát illusztrálja struct és interfészek ban ben Megy .



csomag fő
import 'fmt'

típusú Ember struct {
név karakterlánc
}

típusú Munkás struct {
Emberi
munkafüzér
}

func ( h Ember ) Info ( ) {
fmt. Printf ( '%s vagyok \n ' , h. név )
}

func ( w Munkás ) Info ( ) {
fmt. Printf ( '%s vagyok. %s vagyok. \n ' , Ban ben. név , Ban ben. munka )
}

típusú Személyes felület {
Info ( )
}
funcmain ( ) {
János := Munkás { Emberi { 'János' } , 'munkás' }
Dámvadtehén := Emberi { 'Dámvadtehén' }

János. Info ( )
Dámvadtehén. Info ( )

Személyben volt

én = János
én. Info ( )

én = Dámvadtehén
én. Info ( )
}

Kettőt hoztunk létre struktúrák , Emberi és Munkás , a fenti kódban. Ezután létrejönnek az üzeneteket kinyomtató funkciók. A struktúrák nevezik a fő- () funkciója a Személy felület . Láthatjuk, hogy a Info módszert mind a Munkás és a Emberi , ezért az i változó a típussal Személy interfész megfelelően fog működni, és kinyomtatja a kimenetet.





Kimenet



Megy egyedi megközelítése van Egységbezárás . Egységbezárás Ez a hagyományos objektum-orientált programozásban valósul meg úgy, hogy a mezőket priváttá teszi, és getter és setter módszerekkel elérhetővé teszi. Ban ben Megy , Egységbezárás kisbetűs mezőnevek használatával érhető el, amelyek csak ugyanazon a csomagon belül láthatók. Ez a stratégia egyszerűbb és egyértelműbb, ami megkönnyíti a kód viselkedésének megértését, és csökkenti az előre nem látható mellékhatások lehetőségét.

Megy egyszerűsített formáját nyújtja polimorfizmus . Az objektum-orientált programozásnak van egy ún polimorfizmus amely lehetővé teszi, hogy a különböző osztályokból származó objektumokat ugyanazon osztály példányaiként kezeljük. Megy nem biztosítja a hagyományos osztály alapú öröklődést, de támogatja az interfészeket, amelyek segítségével megadható a metódusok halmaza, amelyet egy struktúrának végre kell hajtania. Megy típus állításokat is kínál, amelyek segítségével a programozók megvizsgálhatják egy interfészváltozó tartalmát, és megkaphatják a mögöttes konkrét értéket.

Következtetés

Megy nem rendelkezik osztályok vagy tárgyakat klasszikus értelemben; ehelyett használja struktúrák és interfészek , amelyek összehasonlítható funkcionalitást kínálnak egyszerűbben és könnyebben. Megy népszerűségre tett szert a fejlesztők körében, akik az egyszerűséget, az olvashatóságot és a teljesítményt helyezik előtérbe egy másik filozófia és nyelvtan révén. Bár ismerkedés Go's A módszertan eltarthat egy ideig, jellegzetes tulajdonságai és kialakítása hatékonyabb és karbantarthatóbb kódot eredményez.