Què és una classe i un objecte a Golang?

Que Es Una Classe I Un Objecte A Golang



Idees fonamentals en programació d'ordinadors com classe i objecte proporcionar una estructura per agrupar el codi en mòduls reutilitzables i adaptables. Golang té la seva pròpia sintaxi, característiques i filosofia distintives. A diferència d'altres idiomes, la solució no és tan òbvia quan es tracta dels conceptes de classe i objecte en Vés . En aquest article, explorarem si Go té un concepte de classe i un objecte i com es compara amb altres llenguatges de programació.

Què és una classe i un objecte?

Abans podem respondre si Vés classes i objectes , primer hem de definir què són en el context de la programació. A classe és un model o plantilla que descriu les característiques i accions d'una col·lecció de objectes . An objecte es crea com una instància d'a classe quan s'assigna memòria i el seu estat s'inicia en temps d'execució. Classes i objectes són blocs de construcció clau en llenguatges de programació clàssics orientats a objectes com Java, C++ o C# que admeten el polimorfisme, l'herència i l'encapsulació.

Estructures a Golang

En Va, classes se substitueixen per tipus de dades definits per l'usuari anomenats estructures. Aquests estructures combinen diversos elements o propietats i permeten la inclusió de mètodes: funcions que operen en instàncies de l' estructura. Mentre estructures comparteix algunes similituds amb classes com l'herència i les interfícies, també hi ha diferències notables. Per exemple, Vés no té un constructor: un mètode únic que inicialitza l'estat d'un objecte en la creació, com es troba habitualment en els llenguatges basats en classes.







Interfícies a Golang

Vés té un concepte semblant objectes : interfícies . An interfície és una col·lecció de mètodes que descriuen un comportament o una funcionalitat, però sense especificar com s'implementa. Interfícies proporcionar una manera d'aconseguir el polimorfisme en Vés , que permet utilitzar diferents tipus de manera intercanviable si compleixen els requisits de la interfície. Aquest és un concepte potent que permet Vés per aconseguir un alt grau de flexibilitat i extensibilitat sense sacrificar el rendiment o la simplicitat.



Ús d'estructures i interfícies a Golang

L'exemple següent il·lustra l'ús de estructura i interfícies en Vés .



paquet principal
importar 'fmt'

tipus Human estructura {
cadena de nom
}

tipus Treballador estructura {
Humans
cadena de treball
}

func ( h Humans ) Informació ( ) {
fmt. Printf ( 'Sóc %s \n ' , h. nom )
}

func ( w Treballador ) Informació ( ) {
fmt. Printf ( 'Sóc %s. Sóc %s. \n ' , En. nom , En. feina )
}

tipus Interfície de persona {
Informació ( )
}
funcmain ( ) {
Joan := Treballador { Humans { 'Joan' } , 'treballador' }
Doe := Humans { 'Doe' }

Joan. Informació ( )
Doe. Informació ( )

estava en persona

i = Joan
i. Informació ( )

i = Doe
i. Informació ( )
}

N'hem creat dos estructures , Humans i Treballador , al codi anterior. Aleshores es creen les funcions que imprimeixen els missatges. El estructures s'anomenen al principal () funció de la Persona interfície . Podem veure que el Informació El mètode ha estat implementat per tots dos Treballador i la Humans , per tant la variable i amb el tipus Persona La interfície funcionarà correctament i imprimirà la sortida.





Sortida



Vés té un enfocament únic encapsulació . Encapsulació s'aconsegueix en la programació orientada a objectes convencional fent que els camps siguin privats i fent-los accessibles mitjançant mètodes d'obtenció i configuració. En Vés , encapsulació s'aconsegueix utilitzant noms de camp en minúscules, que només són visibles dins del mateix paquet. Aquesta estratègia és més senzilla i sense ambigüitats, la qual cosa fa que sigui més senzill entendre com es comporta el codi i redueix la possibilitat d'efectes secundaris imprevistos.

Vés proporciona una forma simplificada de polimorfisme . La programació orientada a objectes té una característica anomenada polimorfisme que permet tractar objectes de diverses classes com a instàncies de la mateixa classe. Vés no proporciona l'herència convencional basada en classes, però admet interfícies, que es poden utilitzar per especificar un conjunt de mètodes que ha d'implementar una estructura. Vés també ofereix afirmacions de tipus, que permeten als programadors examinar el contingut d'una variable d'interfície i obtenir el valor concret subjacent.

Conclusió

Vés no té classes o objectes en el sentit clàssic; en canvi, fa servir estructures i interfícies , que ofereixen una funcionalitat comparable d'una manera més senzilla i lleugera. Vés ha guanyat popularitat entre els desenvolupadors que prioritzen la simplicitat, la llegibilitat i el rendiment adoptant una filosofia i una gramàtica diferents. Encara que es va familiaritzant Aneu La metodologia pot trigar un temps, les seves característiques distintives i el seu disseny donen com a resultat un codi més eficaç i més fàcil de mantenir.