LINUX.ORG.RU

Типы и классы: в чем разница?


0

0

Задался вопросом: что такое типы и что такое классы, в чем их отличие?

Вот тут пишут, что в c# http://www.intuit.ru/department/pl/csharp/3/ типы и классы это почти синонимы. А в хаскеле -- классы типов. Т.е. это все-таки разные понятия?

anonymous

да и в догонку...

может это как-то связано с понятиями "кассификация" и "типизация" ?

anonymous
()
Ответ на: комментарий от anonymous

Не претендую на правильность, но по-моему, в большинстве случаев клссы - подмножество типов. Т. е., например в C++ каждый класс является типом, однако обраное не обязательно.

Deleted
()

Это зависит от того, как определить понятия :) В Си++ и Хаскеле они определены по-разному. AFAIK, общепринятого определения не существует.

tailgunner ★★★★★
()

Есть "классы C#". Есть "классы Хаскеля". "Классов" не существует.

Miguel ★★★★★
()
Ответ на: комментарий от andreyu

> Неужели так сложно прочитать Бьёрна Страуструпа?

... и газету "Московский комсомолец".

anonymous
()

Я уже об этом здесь писал, да ладно напишу еще раз.

На классы можно смотреть с 3-х позиций: класс-как-тип, класс-как-поведение и класс-как-интерфейс. Еще можно смотреть с позиции класс-как-объект, но не везде и не всегда.

А то что в хаскеле классы называются классами типов, так это главным образом дань математическому языку плюс чисто математические заморочки, в которые я, честно сказать, не вникал.

Macil ★★★★★
()
Ответ на: комментарий от Macil

> Я уже об этом здесь писал, да ладно напишу еще раз.

очень интересно. можешь дать ссылку на развёрнутый ответ (местный поиск не рулит -) ), или если нетрудно, откомментировать тут еще раз?

subj интересует с точки зрения проектирования языка программирования: стоит-ли различать эти понятия и какой смысл в них вкладывать?

anonymous
()
Ответ на: комментарий от andreyu

спасибо за ссылку на Страуструпа =), но тут больше интересует концептуальная сторона вопроса, а не игра слов в конкретном ЯП. :)

anonymous
()
Ответ на: комментарий от anonymous

>очень интересно. можешь дать ссылку на развёрнутый ответ

Местный поиск как раз рулит http://www.linux.org.ru/jump-message.jsp?msgid=1989166&cid=1989630

Правда, не обольщайся. Ответ не развернутый. Вообще, то что здесь написано - мое мнение. Ессно, у меня в этом вопросе совершенно нет шансов быть первым... Но ссылку на какой-то более авторитетный источник я привести не смогу или сразу все мной прочитанные книжки.

>стоит-ли различать эти понятия и какой смысл в них вкладывать

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

>какой смысл в них вкладывать

Никакого. Наверно, если повнимательней приглядеться, то можно еще накопать различных уникальных точек зрения.

Macil ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.