Могу ли я создать подкласс класса с дженериками без определения дженерика? - PullRequest
1 голос
/ 19 марта 2019

До сих пор я мог создавать подкласс A, определяя только общий тип как String или любой другой тип:

protocol Protocol {}

extension String : Protocol {}

class A<T:Protocol> {}

class B : A<String> {}

Нужно ли указывать универсальный тип или я просто наследую его без указания?

1 Ответ

4 голосов
/ 19 марта 2019

Если вы хотите, чтобы ваш класс B также был универсальным, вы должны ограничить B для протокола, который наследуется от Protocol, а затем использовать этот универсальный параметр для ограничения A

class B<T: Protocol>: A<T> {}

protocol P: Protocol {}
class B<T:P>: A<T> {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...