Информация об изменениях

Сообщение Re: .ctor base vs this от 25.05.2020 12:51

Изменено 25.05.2020 12:56 karbofos42

Re: .ctor base vs this
Здравствуйте, vladpol, Вы писали:

V>Вопрос: есть ли принципиальная разница межу вызовами из наследных конструкторов базовых или сведение к одному со многими парметрами. Я считаю, что 100% выигрышного варинта нет, коллега убежден, что едиственно правильный вариант, то чтобы base был только 1, а все остальній конструторі редиректили через this.

V> Хотелось бы услышать еще мнения.
V> Спасибо

принципиальная разница в том, что будут вызываться разные конструкторы базового класса. Выигрыш собственно зависит от этого.
Ведь есть разница: создать List<> без параметров, а потом записать в него 100 000 элементов или же вызвать конструктор List<int>(100_000) и потом заполнить его теми же элементами.
Так и здесь. Есть вероятность, что одна из реализаций base будет оптимальнее под конкретные условия потомка и лучше вызывать её, а не какой-то общий конструктор.
Re: .ctor base vs this
Здравствуйте, vladpol, Вы писали:

V>Вопрос: есть ли принципиальная разница межу вызовами из наследных конструкторов базовых или сведение к одному со многими парметрами. Я считаю, что 100% выигрышного варинта нет, коллега убежден, что едиственно правильный вариант, то чтобы base был только 1, а все остальній конструторі редиректили через this.

V> Хотелось бы услышать еще мнения.
V> Спасибо

принципиальная разница в том, что будут вызываться разные конструкторы базового класса. Выигрыш собственно зависит от этого.
Ведь есть разница: создать List<> без параметров, а потом записать в него 100 000 элементов или же вызвать конструктор List<int>(100_000) и потом заполнить его теми же элементами.
Так и здесь. Есть вероятность, что одна из реализаций base будет оптимальнее под конкретные условия потомка и лучше вызывать её, а не какой-то общий конструктор.
Если всё в итоге сводится к одному и тому же методу, то конечно лучше всё сводить к вызову this, чтобы при последующем чтении не опускаться на уровень base и шариться в рамках одного класса.