Я пытаюсь понять использование ключевого слова required в классах Swift.
class SomeClass
{
required init() {
// initializer implementation goes here
}
}
required не заставляет меня реализовать метод в моем дочернем классе. Если я хочу переопределить инициализатор required моего родительского класса, мне нужно написать required, а не override. Я знаю, как это работает, но не могу понять, почему я должен это делать.
В чем преимущество required?
Насколько я могу судить, такие языки, как С#, не имеют ничего подобного и отлично работают с override.