Arayüz Nedir?
Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 12 / 68.
Go'da bir arayüz (interface), bir türün hangi davranışlara sahip olması gerektiğini, bu davranışların nasıl uygulandığını belirtmeden tanımlayan bir sözleşme gibidir. Bunu, bir şeyin neler yapabileceğini açıklayan bir metot imzaları koleksiyonu olarak düşünün.
Arayüzleri daha iyi anlamak için evinizdeki bir elektrik prizini hayal edin.
Prizin belirli bir şekli vardır ve elektrik sağlar, ancak içine hangi cihazı taktığınızla ilgilenmez. İster bir lamba, ister bir telefon şarj cihazı veya bir bilgisayar olsun, doğru fiş şekline sahip olan her cihaz bağlanabilir ve güç alabilir. Priz, "arayüzü" (interface) -bağlantı gereksinimlerini- tanımlar.
Go'da bir interface benzer şekilde çalışır. Bir türün o interface'e "bağlanabilmesi" için sahip olması gereken bir dizi metot imzasını tanımlar. Gerekli tüm metotlara sahip olan herhangi bir tür, o türün başka neler yapabildiğine veya bu metotları nasıl uyguladığına bakılmaksızın interface'i otomatik olarak karşılar.
Bu kavram güçlüdür çünkü belirli davranışları gerçekleştirebilen herhangi bir tiple çalışan kodlar yazmanıza olanak tanıyarak programlarınızı daha esnek ve yeniden kullanılabilir hale getirir. Tıpkı farklı cihazların aynı elektrik prizini kullanabilmesi gibi, farklı Go tipleri de gerekli metotlara sahip oldukları sürece aynı arayüzü karşılayabilirler.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Kopya kağıdı
Go'da bir arayüz (interface), bir türün uygulaması gereken metot imzalarından oluşan bir sözleşme tanımlar. Gerekli tüm metotlara sahip olan herhangi bir tür, arayüzü otomatik olarak karşılar.
Arayüzler, farklı cihazların doğru fiş şekline sahip oldukları sürece aynı prizi kullanabilmelerine benzer şekilde, belirli davranışları gerçekleştirebilen herhangi bir türle çalışan esnek kodlar yazılmasını sağlar.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Kontrol Akışı
`fallthrough` ile Switchİç İçe Döngülerden ÇıkmaBelirli Bir Döngüye Devam Etme`goto` İfadesiÖzet - İleri Seviye Döngü Kontrolü4Proje: Basit Görev Listesi
Proje KurulumuGörev Ekleme2Structlar ve Metotlar
Structlarda Metot TanımlamaValue Receiver'larPointer Receiver'larReceiver SeçimiMetotlar ve FonksiyonlarÖzet - Struct Davranışı5Derinlemesine Map'ler
Struct Map'leriMap Değeri Olarak Pointer'larNil Map KontrolüMap'leri KarşılaştırmaÖzet - Kelime Frekansı Sayacı3Arayüzler (Temeller)
Arayüz Nedir?Bir Arayüz TanımlamaBir Arayüzü UygulamaArayüz Tiplerini KullanmaBoş ArayüzTip OnaylamalarıTip SeçimiÖzet - Şekiller ve Davranışlar