В Kotlin аргументы конструктора превращаются в свойства, только если они помечены как val
или var
. В вашем случае captain
, capacity
, name
и location
являются просто аргументами для конструктора. Они не превращаются в свойства.
Чтобы получить captain
и capacity
в качестве свойств, добавьте к ним val
:
class Stronghold1(val captain: String, val capacity: Int) : Stronghold("GerMachine", "Bonn")
// ^^^ ^^^
// add add
Вы, вероятно, хотите сделать то же самое с Stronghold
:
abstract class Stronghold(val name: String, val location: String)
// ^^^ ^^^
// add add