Apa itu Kelas dan Objek di Golang?

Apa Itu Kelas Dan Objek Di Golang



Ide dasar dalam pemrograman komputer seperti kelas Dan obyek menyediakan struktur untuk mengelompokkan kode ke dalam modul yang dapat digunakan kembali dan dapat diadaptasi. Golang memiliki sintaks, fitur, dan filosofi tersendiri. Berbeda dengan bahasa lain, solusinya tidak begitu jelas dalam hal konsep kelas Dan obyek di dalam Pergi . Pada artikel ini, kita akan mengeksplorasi apakah Go memiliki konsep kelas dan sebuah obyek dan bagaimana perbandingannya dengan bahasa pemrograman lain.

Apa itu Kelas dan Objek?

Sebelum kita bisa menjawab apakah Pergi memiliki kelas Dan objek , pertama-tama kita perlu mendefinisikan apa itu dalam konteks pemrograman. A kelas adalah model atau template yang menguraikan karakteristik dan tindakan dari kumpulan objek . Sebuah obyek dibuat sebagai turunan dari a kelas saat memori dialokasikan dan statusnya diinisialisasi saat runtime. Kelas Dan objek adalah blok bangunan utama dalam bahasa pemrograman berorientasi objek klasik seperti Java, C++ atau C# yang mendukung polimorfisme, pewarisan, dan enkapsulasi.

Struktur di Golang

Di dalam Pergi, kelas digantikan oleh tipe data yang ditentukan pengguna yang disebut struct. Ini struct menggabungkan beberapa elemen atau properti dan memungkinkan penyertaan metode – fungsi yang beroperasi pada instance dari struct. Ketika struct berbagi beberapa kesamaan dengan kelas seperti pewarisan dan antarmuka, ada juga perbedaan penting. Contohnya, Pergi tidak memiliki konstruktor – metode unik yang menginisialisasi status objek saat pembuatan, seperti yang biasanya ditemukan dalam bahasa berbasis kelas.







Antarmuka di Golang

Pergi memang memiliki konsep yang seperti objek : antarmuka . Sebuah antarmuka adalah kumpulan metode yang menggambarkan perilaku atau fungsionalitas, tetapi tanpa menentukan bagaimana penerapannya. Antarmuka menyediakan cara untuk mencapai polimorfisme di Pergi , memungkinkan berbagai jenis digunakan secara bergantian jika memenuhi persyaratan antarmuka. Ini adalah konsep kuat yang memungkinkan Pergi untuk mencapai tingkat fleksibilitas dan ekstensibilitas yang tinggi tanpa mengorbankan kinerja atau kesederhanaan.



Penggunaan Struktur dan Antarmuka di Golang

Contoh berikut mengilustrasikan penggunaan dari struct Dan antarmuka di dalam Pergi .



paket utama
impor 'fmt'

tipe Manusia struct {
rangkaian nama
}

ketik Pekerja struct {
Manusia
rangkaian pekerjaan
}

fungsi ( h Manusia ) Info ( ) {
fmt. Cetakf ( 'Saya adalah s \N ' , H. nama )
}

fungsi ( w Pekerja ) Info ( ) {
fmt. Cetakf ( 'Saya %s. Saya %s. \N ' , Di dalam. nama , Di dalam. pekerjaan )
}

ketik antarmuka Orang {
Info ( )
}
funcmain ( ) {
Yohanes := Pekerja { Manusia { 'Yohanes' } , 'pekerja' }
Kelinci betina := Manusia { 'Kelinci betina' }

Yohanes. Info ( )
Kelinci betina. Info ( )

berada di Pribadi

Saya = Yohanes
Saya. Info ( )

Saya = Kelinci betina
Saya. Info ( )
}

Kami telah menciptakan dua struct , Manusia Dan Pekerja , dalam kode di atas. Fungsi yang mencetak pesan kemudian dibuat. Itu struct dipanggil di utama () fungsi dari Orang antarmuka . Kita dapat melihat bahwa Info metode telah dilaksanakan oleh kedua Pekerja dan Manusia , oleh karena itu variabel i dengan tipe Orang antarmuka akan berfungsi dengan benar dan mencetak hasilnya.





Keluaran



Pergi memiliki pendekatan yang unik untuk enkapsulasi . Enkapsulasi dicapai dalam pemrograman berorientasi objek konvensional dengan menjadikan bidang pribadi dan membuatnya dapat diakses melalui metode pengambil dan penyetel. Di dalam Pergi , enkapsulasi dicapai dengan menggunakan nama bidang huruf kecil, yang hanya terlihat dalam paket yang sama. Strategi ini lebih lugas dan tidak ambigu, yang membuatnya lebih mudah untuk memahami perilaku kode dan menurunkan kemungkinan efek samping yang tidak terduga.

Pergi menyediakan bentuk yang disederhanakan dari polimorfisme . Pemrograman berorientasi objek memiliki fitur yang disebut polimorfisme yang memungkinkan objek dari berbagai kelas diperlakukan sebagai turunan dari kelas yang sama. Pergi tidak menyediakan pewarisan berbasis kelas konvensional, tetapi mendukung antarmuka, yang dapat digunakan untuk menentukan sekumpulan metode yang harus diterapkan oleh struct. Pergi juga menawarkan pernyataan tipe, yang memungkinkan pemrogram memeriksa konten variabel antarmuka dan mendapatkan nilai konkret yang mendasarinya.

Kesimpulan

Pergi tidak punya kelas atau objek dalam pengertian klasik; sebaliknya, ia menggunakan struct Dan antarmuka , yang menawarkan fungsionalitas sebanding dengan cara yang lebih lugas dan ringan. Pergi telah mendapatkan popularitas di kalangan pengembang yang mengutamakan kesederhanaan, keterbacaan, dan kinerja dengan menganut filosofi dan tata bahasa yang berbeda. Meskipun berkenalan dengan Pergi metodologi dapat memakan waktu, fitur dan desainnya yang khas menghasilkan kode yang lebih efektif dan dapat dipelihara.