У меня есть несколько случаев, когда я хочу добавить статические функции или значения в базовый класс, чтобы я мог использовать их во всех подклассах, которые его наследуют.
Один из таких случаев - это когда я хочу создатьобщие теги для каждого класса для использования в отображении данных в качестве ключа, например, когда я хочу найти фрагменты или передать данные между действиями.
Например:
open class BaseClass(){
companionObject{
val TAG: String = this.javaClass.simpleName
}
}
class ChildClass: BaseClass()
class Main: Activity(){
fun startActivity(){
val intent = Intent(this, ChildClass::class.java)
intent.putExtra(ChildClass.TAG, data)
startActivity(intent)
finish()
}
}
Можно ли это сделать илия вынужден создать объект-компаньон для каждого класса?