2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 02:37 


02/07/11
5
Друзья, как вы считаете является ли корректной теоретико-множественная (в смысле наивной ТМ) интерпретация понятий объектно-ориентированного программирования? Например, допустимо ли интерпретировать класс (понятие ООП) как множество, а объект как элемент множества? Если нет, то почему. И вообще, каковы пределы теоретико-множественной интерпретации понятий ООП? Возможна ли теоретико-категорная интерпретация понятий ООП? Где об этом можно почитать?

 Профиль  
                  
 
 Re: Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 03:19 
Заслуженный участник


20/08/14
11761
Россия, Москва
Интересно было бы взглянуть на пересечение множеств в терминах ООП: объекты, принадлежащие одновременно двум классам (имеющие более одного родителя)?! Может я что-то пропустил, но разве в ООП не строгая иерархия наследования, без всяких пересечений? Множества в этом смысле богаче.

 Профиль  
                  
 
 Re: Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 03:52 


01/05/17
50
Где я?
Категорная интерпретация подходит лучше. Причем в Бурбаковском смысле: категория (class в ООП) описывается аксиомам, которым объект (class instance) должен удовлетворять. Факторизации - это отношения супер классов и подклассов. Подобъект - это class member. Морфизмы общего вида - это преобразования типов в программах. Понимание Бурбаковский теории и соотнесение с ООП помогает принимать правильные дизайнерские решения. Но на практике эти решения гораздо проще выводить из ответа на вопрос - в каком отношении находятся сущности A и B? Является ли А родственником B или же его частью? Собственно, этим исчерпывается 90% категорной мысли в практическом программировании.

 Профиль  
                  
 
 Re: Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 06:13 
Заслуженный участник


16/02/13
4194
Владивосток
Dmitriy40 в сообщении #1276234 писал(а):
разве в ООП не строгая иерархия наследования
В научной ООП — возможно, а вот в языках и реализациях... Множественное наследование, виртуальные родители — чорт ногу сломит. И всё ведь нужно, полезно и крайне соблазнительно...
shmogin в сообщении #1276228 писал(а):
является ли корректной теоретико-множественная (в смысле наивной ТМ) интерпретация понятий объектно-ориентированного программирования?
Является ли корректным рассмотрение человеческого общества как муравейника? Таки иногда является, если не забывать, что оное общество устроено куда сложнее. Так и по вашему вопросу, только вот теория множеств — максимально упрощённая теория. Ну обзовём мы класс множеством, а дальше-то что из этого обзывательства следует?

 Профиль  
                  
 
 Re: Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 07:44 


05/09/12
2587
shmogin в сообщении #1276228 писал(а):
Друзья,

shmogin в сообщении #1276228 писал(а):
Где об этом можно почитать?

Друг, ты в интернете смотрел? Или сразу решил создать тему на форуме под впечатлением от идеи?
Цитата:
A Semantics of Multiple Inheritance Luca Cardelli, (Семантика Множественного Наследования);
An Imperative Object Calculus Martin Abadi And Luca Cardelli, (Императивное Исчисление Объектов);
An Interpretation of Objects and Objects Types Martin Abadi, Luca Cardelli, Ramesh Viswanathan (Интерпретация Объектов и их Типов);
Object - Oriented Programming in Explicit Mathematics: Towards The Mathematics of Objects, Thomas Studer von Werthenstein (Объектно Ориентированное Программирование в Явной Математике: К Математике Объектов);
Towards Object - Oriented Refinement Calculus, Jamie Shield (К Объектно Ориентированному Исчислению Детализации);
Unifying Theories of Objects, Michael Anthony Smith and Jeremy Gibbons (Объединяя Теории Объектов);
rCOS: A Refinement Calculus for Object Systems, He Jifeng, Xiaoshan Li and Zhiming Liu (rCOS: Исчисления Детализации для Объектных Систем);
An Object-Oriented Approach to Formal Specification, Graeme Paul Smith (Объектно - Ориентированный подход к Формальным Спецификациям);
The Quarks of Object- Oriented Development, Deborach J. Armstrong (Кварки Объектно Ориентированной Разработки);
Формализация Парадигмы Объектно - Ориентированного Программирования, Пискунов А.Г.;
Формализация парадигмы ООП: Насделование Абстрактных Автоматов, Пискунов А.Г.;
(www.ict.edu.ru/ft/005130//index.html) Современные языки программирования и .NET. Основы объектно-ориентированного подхода. Курс лекций Зыков С.
(www.exponenta.ru/educat/systemat/kolesov/index.asp) Объектно-ориентированное моделирование сложных динамических систем Ю.Б. Колесов

 Профиль  
                  
 
 Re: Классы, объекты и т.д. сквозь призму теории множеств
Сообщение19.12.2017, 09:07 
Заслуженный участник


27/04/09
28128
shmogin в сообщении #1276228 писал(а):
Например, допустимо ли интерпретировать класс (понятие ООП) как множество, а объект как элемент множества?
Тогда тут ничего специфически объектно-ориентированного нет: можно вообще любой тип интерпретировать как множество его значений. Ну и категорно тоже, как выше писали.

(Следующее частично дубль, но оставлю.)
Dmitriy40 в сообщении #1276234 писал(а):
Может я что-то пропустил, но разве в ООП не строгая иерархия наследования, без всяких пересечений?
ООП сейчас — это довольно абстрактный набор принципов, конкретные реализации которого весьма различаются. В языках, где есть классы и интерфейсы, как правило класс наследует один класс и реализует любое число интерфейсов, при этом бывают интерфейсы-примеси, имеющие своё поведение (которое в подинтерфейсах тоже можно бывает переопределять), и в итоге отличаются они от классов лишь отсутствием логики инициализации. А в паре языков программирования пересекать и объединять типы можно (в том смысле, что не где-то в уме или на бумаге, а получать представимый в таком языке тип и делать там что-то с ним).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group