Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Абстрактный" и "НЕ абстрактный" типы данных, В чём разница? 
:(
    Опции темы
mes
Дата 5.1.2011, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  3.1.2011,  15:44 Найти цитируемый пост)
Я как-то писал про это дело. 

 
kemiisto, прочитал..  не согласен.. точнее не совсем согласен smile


--------------------
PM MAIL WWW   Вверх
KaraKum
Дата 5.1.2011, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(mes @  5.1.2011,  01:28 Найти цитируемый пост)
не согласен.. точнее не совсем согласен

В корне?  smile 
PM MAIL WWW   Вверх
kemiisto
Дата 6.1.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(mes @  4.1.2011,  22:28 Найти цитируемый пост)
kemiisto, прочитал..  не согласен.. точнее не совсем согласен

А с чем не согласен то?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
mes
Дата 6.1.2011, 15:15 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  6.1.2011,  11:55 Найти цитируемый пост)
А с чем не согласен то? 

на сколько я знаю :
1. ADS, является не предшествием ADT, как это показано
а наоборот ADS может реализоваться посредством ADT..
т.е. во всех трех примерах идет ADS, и в последних двух ADS как ADT... 

2. ADT не предоставляет возможность (по крайней мере старается выполнить это условие)
что во втором примере не соблюдается.. 
решается добавлением (комментария) private, либо переносом определения структуры в cpp файл.. 

P.S. второй пункт хоть и мелочь, но, имхо, сильно сказывается на понимание сути
smile



Это сообщение отредактировал(а) mes - 6.1.2011, 15:16


--------------------
PM MAIL WWW   Вверх
baldina
Дата 6.1.2011, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



имхо тема плавно перехолит в религиозные войны.
2ТС: читать вам надо больше, а не писать.

2mes & kemiisto: the type is the more common concept than structure, so mes is right

Добавлено через 11 минут и 29 секунд
Абстракция:
Цитата

The main advantage is ability to hide realization details.

Отчасти. Основная цель - отбросить лишнее, оставив лишь необходимое для анализа/взаимодействия. Сокрытие деталей лишь один из элементов.
Обобщение концепций см. например в "В.Ш.Кауфман «Языки программирования: концепция и принципы»"
PM MAIL   Вверх
mes
Дата 6.1.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(baldina @  6.1.2011,  16:06 Найти цитируемый пост)
 Основная цель - отбросить лишнее, оставив лишь необходимое для анализа/взаимодействия. 

другими словами : выявить суть 
smile



--------------------
PM MAIL WWW   Вверх
kemiisto
Дата 6.1.2011, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(mes @  6.1.2011,  13:15 Найти цитируемый пост)
1. ADS, является не предшествием ADT, как это показано
а наоборот ADS может реализоваться посредством ADT..

Где там хотя бы намёк на какую-то приемственность?

Цитата(mes @  6.1.2011,  13:15 Найти цитируемый пост)
т.е. во всех трех примерах идет ADS, и в последних двух ADS как ADT...

Ничерта не понял.

Второй пункт - вообще-вообще не понял.

Добавлено через 2 минуты и 8 секунд
Цитата(baldina @  6.1.2011,  15:06 Найти цитируемый пост)
2mes & kemiisto: the type is the more common concept than structure, so mes is right

Это вообще к чему? Я где-то заявлял обратное? Что такое structure?

Это сообщение отредактировал(а) kemiisto - 6.1.2011, 17:38


--------------------
PM MAIL WWW GTalk Jabber   Вверх
mes
Дата 6.1.2011, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  6.1.2011,  16:38 Найти цитируемый пост)
Где там хотя бы намёк на какую-то приемственность?

как я понял, у Вас первый пример демонстриует ADS, a два других ADT..
a на мой взгляд все три  - ADS..

Цитата(kemiisto @  6.1.2011,  16:38 Найти цитируемый пост)
Второй пункт - вообще-вообще не понял.

У Вас поставляется (предоставляется) структура stack для клиента..
В зависимости от языковых возможностей, это можно решить как минимум двумя способами :
1. документативно, грубо говоря поставить коментарий, что трогать нельзя..
2. вынести за пределы доступного клиенту, грубо говоря поместить в .cpp файл или пометить как приват.. 


Это сообщение отредактировал(а) mes - 6.1.2011, 17:47


--------------------
PM MAIL WWW   Вверх
kemiisto
Дата 6.1.2011, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(mes @  6.1.2011,  15:43 Найти цитируемый пост)
как я понял, у Вас первый пример демонстриует ADS, a два других ADT..
a на мой взгляд все три  - ADS..

Почему же? В последних двух вариантах есть определение нового пользовательского типа данных. Появляется возможность объявлять и использовать переменные этого типа.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
mes
Дата 6.1.2011, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  6.1.2011,  16:46 Найти цитируемый пост)
Почему же? В последних двух вариантах есть определение нового пользовательского типа данных. 

от того, что появился ADT, ADS никуда не делась.. 

т.е. ADS может быть реализована :
1. без участия типа данных
2. как тип данных
3. как совокупность типов..

мне надо уйти-скоро вернусь

Это сообщение отредактировал(а) mes - 6.1.2011, 17:49


--------------------
PM MAIL WWW   Вверх
kemiisto
Дата 6.1.2011, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(mes @  6.1.2011,  15:48 Найти цитируемый пост)
от того, что появился ADT, ADS никуда не делась.. 

Если рассматривать только серверный модуль, то ещё как делась. Исчезла бесследно.


Цитата(mes @  6.1.2011,  15:48 Найти цитируемый пост)
т.е. ADS может быть реализована :
1. без участия типа данных
2. как тип данных

Так.

Во-первых, у меня написано следующее:
Цитата


  • Server module can supply an abstract data structure (ADS) itself.
  • Server module can supply an abstract data type (ADT).


И далее по тексту я поясняю:
Цитата
Each abstract data structure is variable of abstract data type.


В клиентском коде ADS никуда не делись и обратного я не утверждал. Напротив. А вот в серверном модуле ...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
mes
Дата 6.1.2011, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  6.1.2011,  16:58 Найти цитируемый пост)
Если рассматривать только серверный модуль, то ещё как делась. Исчезла бесследно.

помоему мы одним и тем же термином  называем разные вещи..
надо бы сформулировать.. сейчас подумаю как..

Добавлено @ 18:38
Цитата(kemiisto @  6.1.2011,  16:58 Найти цитируемый пост)
Each abstract data structure is variable of abstract data type.

smile

вот попробовал сформулировать свое представление на примере :
  ADS (std::)list и взаимодействие с ним,  реализуется с помощью АDT list и АDT iterator.. 


Это сообщение отредактировал(а) mes - 6.1.2011, 18:39


--------------------
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 6.1.2011, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12



Цитата(mes @ 6.1.2011,  17:31)
Цитата(baldina @  6.1.2011,  16:06 Найти цитируемый пост)
 Основная цель - отбросить лишнее, оставив лишь необходимое для анализа/взаимодействия. 

другими словами : выявить суть 
smile

Не совсем так.
К примеру, суть автомобиля - это сгорающий бензин, заставляющий двигаться поршень.
А мне кроме того, где находится руль и на какие педали жать (чтобы тормозить/ехать) ничего
знать не требуется.

Так и в программировании. Суть некоторой сущности может быть одной, а абстракция это сущности,
с которой работает юзверь - совсем другой smile

Добавлено через 2 минуты и 7 секунд
А вообще, господа, Вы уже в дебри/частности полезли.
И ушли в сторону от сабжа темы.
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
mes
Дата 6.1.2011, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(ДокторТуамОсес @  6.1.2011,  19:09 Найти цитируемый пост)
Не совсем так.
К примеру, суть автомобиля - это сгорающий бензин, заставляющий двигаться поршень

у автомобиля это не суть.. суть в авто (сам) мобиль (движется)
smile

Добавлено @ 20:14
Цитата(ДокторТуамОсес @  6.1.2011,  19:09 Найти цитируемый пост)
А мне кроме того, где находится руль и на какие педали жать (чтобы тормозить/ехать) ничего знать не требуется.

ну так оно и есть.. каждому аспекту свое виденье..
smile

Добавлено @ 20:15
Цитата(ДокторТуамОсес @  6.1.2011,  19:09 Найти цитируемый пост)
Суть некоторой сущности может быть одной, а абстракция это сущности,
с которой работает юзверь - совсем другой 

абстракция посредством интерфейса и выражает суть взгляда на сущность.. а не суть сущности smile

Добавлено через 4 минуты и 30 секунд
Цитата(ДокторТуамОсес @  6.1.2011,  19:09 Найти цитируемый пост)
А мне кроме того, где находится руль и на какие педали жать (чтобы тормозить/ехать) ничего
знать не требуется.

хоть телегу с рулем подавай.. smile

Добавлено через 6 минут и 38 секунд
Цитата(ДокторТуамОсес @  6.1.2011,  19:09 Найти цитируемый пост)
А вообще, господа, Вы уже в дебри/частности полезли.
И ушли в сторону от сабжа темы. 

даже если, то не так сильно, как позволил себе отойти тс smile
а по сути мы наоборот движемся к цели .. 
smile

Это сообщение отредактировал(а) mes - 6.1.2011, 20:16


--------------------
PM MAIL WWW   Вверх
ДокторТуамОсес
Дата 6.1.2011, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 8.6.2009

Репутация: -4
Всего: -12




"Абстракция данных" (а есть ещё абстракция управления) - парадигма/идиома программирования, придуманная "для «обуздания» сложности очень больших систем." которая подразумевает в частности:
  • Определение программистом своих типов данных, отражающих базовые 
    концепции предметной области. 
  • Упрятывание деталей реализации; 
  • Разделение на интерфейс(спецификацию) и реализацию; поддержка последовательных уточнения/конкретизации;
  • Cоздание объектов данных и манипулирование ими только через строго определённые операции
  • Использование различных существенно различающихся принципов построения абстракций
    в зависимости от решаемой задачи
  • Работу на различных уровнях абстракции
  • Что абстракция данных является важнейшей составной частью объектно-ориентированного программирования

Иногда говоря об абстракции данных употребляют выражение "принцип чёрного ящика"

Вообщем, пока как-то так
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1250 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.