Junior — Middle
Open anahtar kelimesiyle sınıf bildirimi ile bu modifikatör olmadan normal sınıf tanımı arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Swift dilinde, varsayılan olarak tüm sınıflar kalıtım için kapalıdır (final). Bu, open veya public modifiyecisi olmadan, sınıfın tanımlandığı modül dışında kalıtım yapılamayacağı anlamına gelir.
openanahtar kelimesiyle tanımlanan bir sınıf, başka bir modülde (örneğin başka bir framework veya uygulamada) kalıtılabilir ve üzerine yazılabilir.openmodifiyecisi olmayan (genelliklepublicveya modifiyeci olmayan) bir sınıf, mevcut modül dışında kalıtılamaz.
Bu nedenle, open sınıflar ve metodlar için en "açık" erişim seviyesidir ve diğer modüllerde fonksiyonelliği genişletmeye olanak tanır.
Örnek:
open class OpenClass {
open func doSomething() {}
}
public class PublicClass {
public func doSomething() {}
}
// OpenClass'ın başka bir modülden kalıtımı mümkündür
// PublicClass'ın başka bir modülden kalıtımı mümkün değildir