Kas Golangā ir klase un objekts?

Kas Golanga Ir Klase Un Objekts



Datorprogrammēšanas pamatidejas, piemēram klasē un objektu nodrošināt struktūru koda grupēšanai atkārtoti lietojamos un pielāgojamos moduļos. Golang ir sava atšķirīga sintakse, iezīmes un filozofija. Atšķirībā no citām valodām risinājums nav tik acīmredzams, ja runa ir par jēdzieniem klasē un objektu iekšā Aiziet . Šajā rakstā mēs izpētīsim, vai Go ir jēdziens klasē un an objektu un kā tas ir salīdzināms ar citām programmēšanas valodām.

Kas ir klase un objekts?

Pirms varam atbildēt, vai Aiziet ir klases un objektus , mums vispirms ir jādefinē, kas tie ir programmēšanas kontekstā. A klasē ir modelis vai veidne, kas iezīmē kolekcijas īpašības un darbības objektus . An objektu tiek izveidots kā a gadījums klasē kad atmiņa ir piešķirta un tās stāvoklis tiek inicializēts izpildlaikā. Klases un objektus ir galvenie elementi klasiskajās objektorientētās programmēšanas valodās, piemēram, Java, C++ vai C#, kas atbalsta polimorfismu, pārmantošanu un iekapsulēšanu.

Struktūras Golangā

In Ejiet, klases tiek aizstāti ar lietotāja definētiem datu tipiem, ko sauc struktūras. Šie struktūras apvienot vairākus elementus vai rekvizītus un atļaut iekļaut metodes – funkcijas, kas darbojas ar gadījumiem struktūra. Kamēr struktūras dalīties ar dažām līdzībām klases piemēram, mantojums un saskarnes, pastāv arī ievērojamas atšķirības. Piemēram, Aiziet nav konstruktora — unikāla metode, kas inicializē objekta stāvokli izveides brīdī, kā tas parasti ir atrodams klasēs balstītās valodās.







Saskarnes Golangā

Aiziet ir jēdziens, kas ir līdzīgs objektus : saskarnes . An saskarne ir metožu kopums, kas apraksta uzvedību vai funkcionalitāti, bet nenorāda, kā tā tiek īstenota. Saskarnes nodrošināt veidu, kā panākt polimorfismu Aiziet , kas ļauj savstarpēji aizstāt dažādus veidus, ja tie atbilst saskarnes prasībām. Šī ir spēcīga koncepcija, kas ļauj Aiziet lai sasniegtu augstu elastības un paplašināšanas pakāpi, nezaudējot veiktspēju vai vienkāršību.



Struktūru un saskarņu izmantošana Golangā

Šis piemērs ilustrē izmantošanu struktūra un saskarnes iekšā Aiziet .



galvenā pakete
imports 'fmt'

tips Cilvēks struktūra {
nosaukuma virkne
}

tipa Strādnieks struktūra {
Cilvēks
darba virkne
}

func ( h Cilvēks ) Informācija ( ) {
fmt. Printf ( 'Es esmu %s \n ' , h. nosaukums )
}

func ( w Strādnieks ) Informācija ( ) {
fmt. Printf ( 'Es esmu %s. Es esmu %s. \n ' , In. nosaukums , In. darbs )
}

tipa Personas interfeiss {
Informācija ( )
}
funcmain ( ) {
Džons := Strādnieks { Cilvēks { 'Džons' } , 'strādnieks' }
Stirna := Cilvēks { 'Dirzīte' }

Džons. Informācija ( )
Stirna. Informācija ( )

bija Personā

i = Džons
i. Informācija ( )

i = Stirna
i. Informācija ( )
}

Mēs esam izveidojuši divus struktūras , Cilvēks un Strādnieks , augstāk esošajā kodā. Pēc tam tiek izveidotas funkcijas, kas drukā ziņojumus. The struktūras tiek saukti iekšā galvenais () funkcija Persona saskarne . Mēs varam redzēt, ka Informācija metodi ir ieviesuši gan Strādnieks un Cilvēks , tāpēc mainīgais i ar tipu Persona interfeiss darbosies pareizi un izdrukās izvadi.





Izvade



Aiziet ir unikāla pieeja iekapsulēšana . Iekapsulēšana tiek paveikts parastajā objektorientētajā programmēšanā, padarot laukus privātus un padarot tos pieejamus, izmantojot getter un setter metodes. In Aiziet , iekapsulēšana tiek panākts, izmantojot lauku nosaukumus ar mazajiem burtiem, kas ir redzami tikai tajā pašā pakotnē. Šī stratēģija ir vienkāršāka un nepārprotamāka, kas ļauj vienkāršāk saprast, kā kods darbojas, un samazina neparedzētu blakusparādību iespējamību.

Aiziet nodrošina vienkāršotu formu polimorfisms . Objektorientētajai programmēšanai ir funkcija, ko sauc polimorfisms kas ļauj objektus no dažādām klasēm uzskatīt par vienas klases gadījumiem. Aiziet nenodrošina parasto uz klasēm balstītu mantojumu, bet atbalsta saskarnes, kuras var izmantot, lai norādītu metožu kopu, kas jāīsteno struktūrai. Aiziet piedāvā arī tipa apgalvojumus, kas ļauj programmētājiem pārbaudīt interfeisa mainīgā saturu un iegūt konkrēto pamatā esošo vērtību.

Secinājums

Aiziet nav klases vai objektus klasiskajā izpratnē; tā vietā tā izmanto struktūras un saskarnes , kas piedāvā salīdzināmu funkcionalitāti vienkāršākā un vieglākā veidā. Aiziet ir ieguvis popularitāti starp izstrādātājiem, kuri par prioritāti uzskata vienkāršību, lasāmību un veiktspēju, izmantojot citu filozofiju un gramatiku. Lai gan iepazans ar Aiziet metodika var aizņemt kādu laiku, tās atšķirīgās iezīmes un dizains rada efektīvāku un uzturējamāku kodu.