Junior
Open sınıfı final mi yoksa değil mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Final değil. open anahtar kelimesi, bu sınıftan kalıtım yapabileceğinizi ve üyelerini geçersiz kılabileceğinizi açıkça gösterir.
open class BaseClass {
open func someMethod() {
// Varsayılan uygulama
}
}
class DerivedClass: BaseClass {
override open func someMethod() {
// Geçersiz kılınmış uygulama
}
}
Diğer erişim belirteçleriyle karşılaştıralım:
| Belirteç | Kalıtım | Üyelerin geçersiz kılınması |
|---|---|---|
private |
Hayır (dosya/alan kapsamında) | Hayır |
fileprivate |
Hayır (dosya kapsamında) | Hayır |
internal |
Evet (modül kapsamında) | Evet (modül kapsamında) |
public |
Evet (modül kapsamında) | Evet (modül kapsamında) |
open |
Evet (her modülde) | Evet (her modülde) |
final |
Hayır | Hayır |
final ile işaretlenmiş bir sınıf veya üye, geçersiz kılınamaz veya kalıtılamaz, bu da onu final yapar. open ise tam tersidir.