47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||||||||||||
1 | ||||||||||||||||
Правильно ли я пишу? Работа с интерфейсом и двумя классами с аналогичными методами29.11.2014, 14:51. Показов 3581. Ответов 68
Метки нет (Все метки)
Народ подскажите ли правильно я поступаю. У меня в задании по курсовой есть клиенты и обьекты у них есть добавление,удаление,поиск,редактирование и тдп. Я решил сделать интерфейс так как эти методы почти аналогичные
а вот как в классе обьект
Елементарные операции хранить в интерфейсе было написано в задании) Я как начал так и все вышло обобщить и кинуть в интерфейс))
0
|
29.11.2014, 14:51 | |
Ответы с готовыми решениями:
68
Работа с классами и методами Работа с классами и их методами. Работа с методами и классами Работа с классами и методами |
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
29.11.2014, 15:11 [ТС] | 3 |
а Этого разве нахватает?
Это ж курсовая она болшая и много левого, я показал только то что надо что бы спросить ли норм написание вот такого кода).
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
29.11.2014, 15:15 [ТС] | 5 |
Вот просто один с пунктов задания) о котором я говорил
4. Описать элементарные операции с данными, используя интерфейсы и абстрактные классы (стандартные, например, IComparer, и собственные) **. Добавлено через 1 минуту типа view<Client> ?
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|||||||||||
29.11.2014, 15:22 [ТС] | 7 | ||||||||||
Ну как видите мы тут работаем с 2 списками клиент и обьект))
Он весьма удобен в плане если у нас метод допустим поиск используется для поиска по разному критерию например ли то инт ли то строка
0
|
29.11.2014, 15:26 | 8 |
Я, к примеру, вижу только два метода и никаких списков (лопни мои глаза, что я проглядел ).
Именно поэтому я просил весь код, что относится к вопросу, а не кусочки. Нет желания гадать, что у вас там в коде и как.
1
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|||||||||||
29.11.2014, 15:28 [ТС] | 9 | ||||||||||
Но я же не буду обьеденять все в один класс, можно описать конечно абстракный<T> и от него наследоаваться. Сначало я так и решил. Правда остановился, забыл почему)) но помню что-то не выходило совмещать ирешил в интерфейсе писать)
Добавлено через 1 минуту
0
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
|
29.11.2014, 15:30 | 10 |
Реально, дядя, сделай дженериком хотя бы интерфейс.. А то вообще по-конченому выглядит постоянное приведение.)
Добавлено через 1 минуту у меня сложилось впечатление, что ты не знаешь, что такое дженерики. Сделай интерфейс дженериком и при его реализации ты избавишься от постоянного приведения.
1
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||||||||||||
29.11.2014, 15:42 [ТС] | 11 | |||||||||||||||
У меня постоянны приведения только из-за разности типов параметров.
аналогом бы был public void edit<T>(int index, int indexparam, T info)
Заместь того что бы раз его вызвать)
0
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
|
29.11.2014, 15:47 | 12 |
Lynatik001, так я предлагаю сам интерфейс сделать дженериком, а не каждый метод в отдельности...
<> придётся написать только два раза - при реализациях его..
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
29.11.2014, 15:55 [ТС] | 13 |
у меня не все методы возращают тот же список а некоторые возращают самых клиентов или обьектов- и они не будут совпадать с типом T
Добавлено через 5 минут ну да вы правы по отношению к 2ум методам ето будет правильно. Но всеровно многого не поменяется) Спасибо за критику
0
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
||||||
29.11.2014, 15:55 | 14 | |||||
0
|
29.11.2014, 15:56 | 15 | |||||
Lynatik001, я (значение частоты) так и не пойму что надо, и было бы проще, если бы вы озвучили задание. Но примерный набросок как-то так....
1
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
|
29.11.2014, 15:57 | 16 |
Lynatik001, во-первых, дженерик может может быть от более чем одного типа.. X<T,K>
А во-вторых не обязательно все методы сносить в интерфейс... Вообще говоря, интерфейсы - инструмент инкапсуляции, а если её не будет, то может стоит задуматься о необходимости применения интерфейса в целом?)
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
29.11.2014, 15:59 [ТС] | 17 | |||||
Если вы про метод
то же и в других методах)) Разве что для тех 2ух методов там где именно возращение списков идет) Но самому етому методу он не поможет)
0
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
|
29.11.2014, 16:04 | 18 |
Lynatik001, а ё-моё... у тебя метод разные типы суёт??? Жесть..
Так примени dynamic )) Добавлено через 2 минуты Lynatik001, а, нет ... погоди... ё-моё.. У тебя есть массив object? жесть[2].. Блин, ладно, тогда помолчу.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
29.11.2014, 16:05 [ТС] | 19 |
Ну в добавлении удалении да у меня обьект в параметрах, в удалении в параметрах индекс а не Т-обьект
ввобщем тут все же не пихнешь в Т тут же разные типы везде в параметрах типа инт стринг или же обьект может быть а не именно тот один что надо
0
|
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
|
|
29.11.2014, 16:06 | 20 |
Lynatik001, стоп, массив объектов, в которые ты что-то суёшь? Ты зря сделал один метод на всё это... Мог бы воспользоваться инструментом перегрузки методов и делать то, что тебе надо.. А так это антипаттерн какой-то...
0
|
29.11.2014, 16:06 | |
29.11.2014, 16:06 | |
Помогаю со студенческими работами здесь
20
Работа с классами и методами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |