1 / 1 / 1
Регистрация: 28.05.2017
Сообщений: 98
|
||||||
1 | ||||||
Универсальные классы08.12.2019, 12:42. Показов 1862. Ответов 1
Метки нет Все метки)
(
Доброго времени суток, изучаю для себя что то новое и подошел к такому понятию как универсальный класс, принцип понял, но не понял как работать внутри с универсальными типами.
Допустим есть какой то класс описывающий человека и класс описывающий собаку. Есть универсальный класс с какимито методами и того имеем: class People, class Dog, class Foo<T>; Допустим передаю в класс Foo тип People но у этого класса свое описание отличное от Dog, как работать с таким передаваемым типом?, попытаться определить его as People или Dog? Тогда код внутри Foo разрастется. Везде примеры с int, string. Добавлено через 7 минут Доброго времени суток, изучаю для себя что то новое и подошел к такому понятию как универсальный класс, принцип понял, но не понял как работать внутри с универсальными типами. Допустим есть какой то класс описывающий человека и класс описывающий собаку. Есть универсальный класс с какимито методами и того имеем: class Person, class Student, class Foo<T>; Допустим передаю в класс Foo тип Personно у этого класса свое описание отличное от Student, как работать с таким передаваемым типом?, попытаться определить его as Person или Student? Тогда код внутри Foo разрастется. Везде примеры с int, string. Как внутри Foo создать элемент Student если в Foo передать тип Student
0
|
|
08.12.2019, 12:42 | |
Ответы с готовыми решениями:
1
Универсальные методы
Универсальные шаблоны Универсальные переменные |
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||||||||||
08.12.2019, 16:35 | 2 | ||||||||||
![]() Решение
Иногда вообще никак не работать, представьте себе как работает
List<T> .он ничего не умеет делать с вашими классами, он просто сохраняет ваши классы внутри себя и достает. более умные коллекции попросят вас например передать им метод для сравнения T . То есть опять же сам класс ничего не придумывает, а использует переданный ему метод.какой же это тогда универсальный класс будет, если вы под каждый класс будете свой if писать? смотря в чем заключается работа вы о чем? универсальный класс работает с T условно, откуда взялись инты всякие?скорее всего студент наследуется от person, тогда чтобы получить доступ к методам person надо написать
0
|
08.12.2019, 16:35 | |
Помогаю со студенческими работами здесь
2
Универсальные шаблоны Универсальные шаблоны Универсальные шаблоны Универсальные шаблоны Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |