Co to jest klasa i obiekt w Golang?

Co to jest klasa i obiekt w Golang?
Fundamentalne pomysły w programowaniu komputerowym, takie jak klasa I obiekt Zapewnij strukturę grupowania kodu w moduły wielokrotnego użytku i elastyczne. Golang ma swoją charakterystyczną składnię, cechy i filozofię. W przeciwieństwie do innych języków, rozwiązanie nie jest tak oczywiste, jeśli chodzi o koncepcje klasa I obiekt W Iść. W tym artykule zbadamy, czy Go ma koncepcję klasa i obiekt i jak porównuje się z innymi językami programowania.

Co to jest klasa i obiekt?

Zanim będziemy mogli odpowiedzieć, czy Iść ma zajęcia I obiekty, Najpierw musimy zdefiniować, czym są w kontekście programowania. A klasa jest modelem lub szablonem, który przedstawia cechy i działania zbioru obiekty. Jakiś obiekt jest tworzony jako przykład klasa Kiedy pamięć jest przydzielona, ​​a jej stan jest inicjowany w czasie wykonywania. Zajęcia I obiekty są kluczowymi elementami składowymi w klasycznych obiektowych językach programowania, takich jak Java, C ++ lub C#, które wspierają polimorfizm, dziedzictwo i enkapsulacja.

Struktury w Golang

W Idź, zajęcia są zastępowane przez określone przez użytkownika typy danych nazywane struktury. Te struktury Połącz wiele elementów lub właściwości i umożliwić włączenie metod - funkcje działające w przypadkach struct. Chwila struktury podziel się pewnymi podobieństwami z zajęcia takie jak dziedziczenie i interfejsy, istnieją również godne uwagi różnice. Na przykład, Iść nie ma konstruktora - unikalna metoda inicjowania stanu obiektu przy tworzeniu, jak zwykle występuje w językach klasowych.

Interfejsy w Golang

Iść ma koncepcję, która jest jak obiekty: interfejsy. Jakiś interfejs jest zbiorem metod opisujących zachowanie lub funkcjonalność, ale bez określenia sposobu ich wdrażania. Interfejsy zapewnić sposób na osiągnięcie polimorfizmu w Iść, Umożliwiając użycie różnych typów zamiennie, jeśli spełniają wymagania interfejsu. To potężna koncepcja, która umożliwia Iść osiągnąć wysoki stopień elastyczności i rozszerzenia bez poświęcania wydajności lub prostoty.

Zastosowanie struktur i interfejsów w Golang

Poniższy przykład ilustruje użycie struct I interfejsy W Iść.

Pakiet Main
importować „fmt”
Wpisz ludzką strukturę
Nazwa ciąg

Wpisz Worker Struct
Człowiek
ciąg pracy

func (h human) info ()
fmt.Printf („Jestem %s \ n”, h.nazwa)

FUNC (w pracownik) info ()
fmt.Printf („Jestem %s. Jestem jak.\północny zachód.Nazwa, w.stanowisko)

TYP INTERFECJA OSOBA
Informacje ()

funcMain ()
John: = Worker Human „John”, „Worker”
DOE: = Human „Doe”
Jan.Informacje ()
Łania.Informacje ()
var I Osoba
i = John
I.Informacje ()
I = DOE
I.Informacje ()

Stworzyliśmy dwa struktury, Człowiek I Pracownik, w powyższym kodzie. Następnie tworzone są funkcje, które drukują wiadomości. struktury są wezwani w główny() funkcja Osoba interfejs. Widzimy, że Informacje Metoda została zaimplementowana przez zarówno Pracownik i Człowiek, Dlatego zmienna i z typem Osoba interfejs będzie działał poprawnie i wydrukować wyjście.

Wyjście

Iść ma unikalne podejście do kapsułkowanie. Kapsułkowanie Odbywa się w konwencjonalnym programowaniu obiektowym poprzez uczynienie pól prywatnych i udostępniania ich metodami Getter i Setter. W Iść, kapsułkowanie osiąga się przy użyciu małych pól, które są widoczne tylko w tym samym pakiecie. Ta strategia jest prostsza i jednoznaczna, co jest łatwiejsze zrozumienie, w jaki sposób zachowuje się kod i obniża możliwość nieprzewidzianych skutków ubocznych.

Iść zapewnia uproszczoną formę wielopostaciowość. Programowanie obiektowe ma funkcję o nazwie wielopostaciowość To umożliwia traktowanie obiektów z różnych klas jako instancji tej samej klasy. Iść nie zapewnia konwencjonalnego spadku klas, ale obsługuje interfejsy, które można użyć do określania zestawu metod, które struktura musi wdrożyć. Iść Oferuje również twierdzenia typu, które pozwalają programistom zbadać treść zmiennej interfejsu i uzyskać podstawową wartość konkretną.

Wniosek

Iść nie ma zajęcia Lub obiekty w klasycznym sensie; Zamiast tego używa struktury I interfejsy, które oferują porównywalną funkcjonalność w prostszy i lekki sposób. Iść zyskał popularność wśród programistów, którzy priorytetowo traktują prostotę, czytelność i wydajność, obejmując inną filozofię i gramatykę. Chociaż zapoznaj się z Idź S Metodologia może zająć trochę czasu, a jej charakterystyczne cechy i projektowanie skutkuje bardziej skutecznym i możliwym do utrzymania kodem.