![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Ну Вы даете - изначально строите неверное предположение и потом его же с помощью самого себя и оправдываете.
Итак, чтобы не плавать, дайте определения: ООП интерфейс АТД Без ссылок одного на другое. Вообще звучит смешно - интерфейс это набор методов. АТД это набор методов. В с# все есть методы. Следовательно мой хэлоуворд там будет АТД, методом и интерфейсом, ну и смысл? А вот в Делфи тот же по смыслу и максимально приближенный код, но не оформленный в классе не будет АТД и не будет интерфейсом так как методом не является. Бред какой-то.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 20.01.2014 в 21:32. |
![]() |
![]() |
![]() |
#12 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]() Цитата:
Интерфейс - это набор методов, определяющих контракт класса, который тот обязуется выполнить относительно клиента. АТД - тип данных, который предоставляет как данные так и операций, применимые к этим данным. |
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Ну вот и славно. Вот видите здесь Вы четко указываете что АТД это тип данных. То есть синонимичности в определении АТД и интерфейса нету. Так и не придумывайте способы смешать их воедино.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Да, но ведь в википедии сказано, что АТД - интерфейс... что тогда? неправильность определения в википедии?
Некая синонимичность в АТД и интерфейс просматривается: и там и там - операции. |
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Хорошо, т.е когда советуют думать об АТД, а о классах после построения модели АТД, подразумевают, что я должен обеспечить удобство и правильность обработки данных? При чем же здесь тогда абстрактность? Где она фигурирует?
Я понял только то, что АТД != интерфейс... получается, что сначала я должен построить модель АТД, а далее применить концепции построения классов (где нужно и правильно применить наследование/полиморфизм). Т.е АТД диктует правила построения сущности, которая была бы удобным и правильным инструментом обработки данных? Последний раз редактировалось Igor95; 20.01.2014 в 21:54. |
![]() |
![]() |
![]() |
#17 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
А это: 1) Позволяет (теоретически конечно) хранить в списке объекты разных типов. Вам ведь не надо в списке что-то делать с самим объектом. Но Вы можете хранить там и массив и число и строку. Вот Вам и абстрактность. Реальным примером может служить вектор из Scheme - это такой одномерный массив, который чихал на тип своих элементов (в большинстве других языков программирования как Вам известно массивы могут содержать только однотипные элементы). 2) Это относительно быстрые операции и они также не зависят от самих данных, так фактически в списке Вы работаете с указателями/индексами объектов.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Т.е абстракция заключается в том, что мы абстрагируемся от деталей реализаций (внутри может быть как угодно). Так, тогда концентрируемся мы на интерфейсе??
АТД - список (интерфейс: добавить, удалить, найти). Конкретная реализация АТД: односвязный список (на основе указателей), при этом интерфейс не меняется. Меняется лишь реализация... Т.е АТД - набор данных и операций, служащих одной цели ((с) Стив МакКоннелл). Последний раз редактировалось Igor95; 20.01.2014 в 22:14. |
![]() |
![]() |
![]() |
#19 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Хорошо, спасибо, что уделили время :-)
Кое что прояснилось, буду дальше грызть :-) может получится еще глубже вникнуться в эту идею :-) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
АТД на базе созданных АТД | Marikaa | Помощь студентам | 0 | 24.12.2013 23:25 |
Двунаправленный список и атд[C++] | ArniLand | Общие вопросы C/C++ | 0 | 03.07.2010 00:14 |
ТРПО. Ищу примеры документ-концепции и SRS | Subaru | Помощь студентам | 0 | 26.06.2010 10:44 |
Вопрос о концепции GUI | Homer_J_Simpson | C++ Builder | 4 | 15.11.2009 12:11 |