Отношения композиции и отношения специализации
Объекты выстраиваются в иерархии по трем основным отношениям
- Часть --- целое. Самое простое и самое важное отношение, работает только для физических объектов. Еще называется «истинная часть», чтобы не путать с частями описаний, и другими частями чего попало.
Ножка стола является частью целого стола. Моя рука является частью меня.
Чтобы привести часть для какого-то целого, нужно мысленно буквально разделить его на части. Мы должны при этом следить за тем, чтобы буквально все пространство и время, которое занимает часть, входило в пространство и время, которое занимает целое.
Мыслительный прием для проверки: все атомы объекта «часть X» входят в число атомов объекта «целый Y». Если да, то все верно, и X --- часть Y.
Иерархия, построенная по этому отношению, в языке выражается «Х состоит из...».
У «часть-целое» или отношений композиции есть самая сильная форма, «истинная часть», описанная выше, и есть формы послабее, когда мы знаем, что не конкретный объект, а обычно каждый объект такого класса состоит из, и тогда мы говорим о композиции для нефизических объектов, и дальше уже кто во что горазд, разные онтологи по-разному решают вопрос, у чего бывает композиция, а у чего нет.
Именно по такому принципу из систем выделяют подсистемы.
Композиция: шляпка желудя и тело желудя
- Класс --- экземпляр класса. У нас есть класс «столы», экземпляр этого класса --- данный конкретный стол, находящийся в физической реальности.
Классы --- это объекты ментального пространства. Они находятся только там, и мы можем ими там управлять и оперировать. Конкретный стол --- экземпляр класса «столы» (и еще кучи других классов, то есть один объект может быть экземпляром многих классов) --- объект физического пространства, я его могу посмотреть и потрогать.
Экземпляром класса также может быть какой-то другой класс. Такой класс классов еще часто похож на классифицирующий признак. «Столы, классифицированные по материалу» или «материал столов» (класс) --- «деревянные столы» (экземпляр класса, тоже класс).
«Привести экземпляр класса» --- та же операция, что и «привести пример». В языке заметно по «овощи, например вот эта картофелина», «программисты, например Вася».
- Надкласс --- подкласс.
Я объединяю конкретные столы в класс «все столы», пользуясь отношением «класс --- экземпляр».
Некоторые из этих столов вошли в другой класс --- «деревянные столы».
При этом все «деревянные столы» также входят в класс «все столы», --- это и есть отношение специализации, когда один класс включает в себя все экземпляры другого класса.
Все предметы класса «все столы» также входят в класс «мебель». Получается, что «все столы» --- надкласс для «деревянных столов» и подкласс для «мебели».
Чтобы привести подкласс для какого-то класса, нужно сделать более узкую выборку --- указать такое дополнительное свойство, чтобы можно было привести меньше примеров. Все объекты, которые входят в подкласс, также входят в надкласс.
Мы можем сужать или расширять классы добавляя или убавляя признаки, в языке это выражается как «электростанции, в частности атомные электростанции» или «продукты, в частности овощи».
Иногда люди будут говорить запутывающе «продукты, например овощи», как если бы класс «овощи» был экземпляром класса «продукты», а не его подклассом. Наверняка вы замечали такой эффект, когда вы просите кого-то привести пример, а человек в ответ говорит просто чуть менее абстрактно (дает более узкий класс). Часто этого даже достаточно для понимания. Но мы в курсе будем различать примеры/экземпляры и более узкие классы.