TGViewer
Everlasting Loops Everlasting Loops @loops_everlasting · 565 subscribers
Post #12 1.15K
public final override

Помимо разработки библиотек, есть еще один кейс, где эсплицитный public несет дополнительную смысловую нагрузку


abstract class Animal {

protected abstract fun say(): String
}

abstract class Fox : Animal() {

public override fun say(): String {
return "Ring-ding-ding-ding-dingeringeding!"
}
}

class ArcticFox : Fox() {

// тут public уже не нужен
override fun say(): String {
return "Wa-pa-pa-pa-pa-pa-pow!"
}
}

class FennecFox : Fox() {

// тут тоже
override fun say(): String {
return "Chacha-chacha-chacha-chow!"
}
}


С точки зрения синтаксиса котлин такое позволяет, и тулинг не подсвечивает его как redundant

А еще в котлине есть ключевое слово final

Концептуально это очень похоже на предыдущий кейс, ибо и public, и final здесь выполняют одну и ту же функцию – нивелируют предыдущую эксплицитную декларацию: public можно использовать для того, чтобы перекрыть protected / internal, а final – для open / abstract


open class RedFox : Fox() {

final override fun say(): String {
return "A-hee-ahee ha-hee!"
}
}

class EuropeanRedFox : RedFox() {

// ошибка – “’say' in 'RedFox' is final and cannot be overridden”
override fun say(): String {
return "A-oo-oo-oo-ooo! Woo-oo-oo-ooo!"
}
}



@loops_everlasting
Telegram Everlasting Loops public class String Вы могли видеть такую функцию: public fun CoroutineScope.launch( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit ): Job { val…
  • 👍 6
  • 🔥 5
  • 🥱 2
  • 🦄 1
More from @loops_everlasting
  1. Jul 23, 2025невероятный успех #pull_request
  2. Jul 23, 2025Так выглядел вайбкодинг с Kiro (мем мой)
  3. Jul 23, 2025Post #25
  4. Jul 23, 2025Кстати, если вдруг хотите еще на кого-нибудь подписаться, есть целая папка с годными канал…
  5. Jul 23, 2025Пока готовил пост, заметил, что забыл в автокомплите точку с запятой
  6. Jul 23, 2025Еще к первому посту про плагин в комментарии прилетел фича-реквест от Асхара из канала Пол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →