Junior — Middle
Bir sınıfın işlevselliğini, arayüzler ekleyerek yeni özellikler veya alanlar ekleyerek genişletebilir miyiz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da arayüzler, bir türün uygulaması gereken metodların bir kümesini tanımlar, ancak özellikler veya alanlar içermeyebilirler. Bu nedenle, bir sınıfın (türün) işlevselliğini yeni özellikler ekleyerek genişletemezsiniz. Arayüzler, davranışı tanımlamak içindir, veri yapıları değil.
Go'da bir arayüz örneği:
type Reader interface {
Read(p []byte) (n int, err error)
}
Yeni alanlar eklemek istiyorsanız, bu yapıyla yapılır, arayüzle değil.