Статический список объектов из класса в Котлине - PullRequest
1 голос
/ 13 июня 2019

Статический список всех объектов класса
Работает ли это с Kotlin, если да, можете ли вы привести пример?

Сейчас у моего интерфейса нет списка, и ясоздание объекта-компаньона в обеих реализациях.Но это как-то не так ... Пожалуйста, помогите мне разобраться в этом:)

У меня есть четыре способа сделать это прямо сейчас, я покажу два здесь, потому что четвертый требует более сложного UML .На самом деле, это то, как вы делаете это, если нет, может быть, у кого-то из вас есть идея;)

Мой код в Kotlin приближается к одному:

interface IMyClass {
}

class MyClassOne : IMyClass {
     companion object {
        var myClassList: ArrayList<IMyClass> = ArrayList()
    }
    constructor() {
        println(myClassList)
    }
}

class MyClassTwo : IMyClass {
     companion object {
        var myClassList: ArrayList<IMyClass> = ArrayList()
    }
    constructor() {
        println(myClassList)
    }
}

Мой код в Kotlin приближается ко второму:

interface IMyClass {
    companion object {
       var myClassList: ArrayList<IMyClass> = ArrayList()
    }
}

class MyClassOne : IMyClass {
    constructor() {
        println(IMyClass.myClassList)
    }
}

class MyClassTwo : IMyClass {
    constructor() {
        println(IMyClass.myClassList)
    }
}

Мой код в Kotlin приближается к трем:

interface IMyClass {
    var myClassList: ArrayList<IMyClass>
}

class MyClassOne {
    companion object : IMyClass{
        override var myList: ArrayList<IMyClass>
            get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
            set(value) {}
    }
}

class MyClassTwo {
companion object : IMyClass{
        override var myList: ArrayList<IMyClass>
            get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
            set(value) {}
    }
}

Мой код в Java:

public interface IMyClass {
 List<IMyClass> myClassList = new ArrayList<>();
}

public class MyClassOne implements IMyClass {
    public MyClassOne() {
        System.out.println(myClassList );
    }
}

public class MyClassTwo implements IMyClass {
    public MyClassTwo() {
        System.out.println(myClassList);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...