Sobes.tech
Junior — Middle

Nesne yönelimli programlamada, veri yapısı tanımlanan arayüzü uygulamazsa ne sonuçlar ortaya çıkar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da arayüzler dolaylı olarak uygulanır: Bir yapı, arayüzün tüm yöntemlerini içeriyorsa, onu uygular. Eğer yapı belirli arayüzü uygulamıyorsa:

  • Bu yapıyı arayüz tipi değeri olarak kullanmaya çalışırken derleyici hata verir.
  • Bu, çalışma zamanındaki hataları önler, çünkü Go, uyumluluğu derleme aşamasında sıkı şekilde kontrol eder.

Örneğin, bir arayüzünüz varsa:

type Reader interface {
    Read(p []byte) (n int, err error)
}

Ve bir yapı:

type MyStruct struct {}

// Read yöntemi yok, bu yüzden MyStruct Reader'ı uygulamaz

MyStruct'ı bir Reader değişkenine atamaya çalışmak derleme hatasıyla sonuçlanır.

Bu şekilde, yapı arayüze uyum sağlamıyorsa, onu bu arayüzün beklendiği yerlerde kullanamazsınız, bu da programdaki mantıksal hataları önlemeye yardımcı olur.