Infelizmente não é possível responder uma dúvida, se ela já tem um mês de idade.
A pergunta foi essa:
https://cursos.alura.com.br/forum/topico-utilizando-companion-object-141836
A property plr ainda não havia sido inicializada quando quando o init de Funcionario tinha sido chamada.
open class Foo(a: String) {
open val result = a
init {
// O objeto pai e inicializado antes do objeto filho.
// a chamada a property result e feita no objeto que a esta sobreescrevendo, no caso Bar.
// Mas, enquanto Foo nao terminar de executar este init, a linha com "override val result = a + b" ainda nao rodou.
// Portanto ele printa null.
print(result)
}
}
class Bar(a: String, b: String) : Foo(a) {
override val result = a + b
}
fun main() {
Bar("aBar", "bBar")
}
Acredito ser esse o motivo. Me corrijam se eu estiver errado.