Итак, я знаю, что ссылочные переменные не могут быть изменены.
Я нахожусь в положении, когда у меня есть два разных класса. Давайте назовем их A и B. У них одни и те же методы (методы называются одинаковыми), они просто указаны для класса.
Мне нужен умный способ переключения между классами для создания экземпляров.
Одним из способов может быть использование некоторых логических тестов, проверяющих, какая опция была выбрана, и затем создание экземпляра соответствующего класса. Хотя я боюсь, что это может стать громоздким и безобразным, поэтому я пытаюсь избежать этого. Должно быть что-то более умное.
В настоящее время я думаю о создании нового класса (например, C), который расширяет тот же класс, что и A и B.
Затем я бы переопределил методы (как, к примеру, классы A и B), а затем выполнил бы методы в зависимости от настройки (то есть, какой класс A или B выбран). Методы будут возвращать то же самое, что и в классе A или B.
Надеюсь, я не говорю полный бред.