powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поменять класс у существующего объекта
25 сообщений из 47, страница 1 из 2
Поменять класс у существующего объекта
    #37681207
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, где-нибудь такая возможность реализована?

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

ps.
Ну или был квадрат - стал прямоугольником

Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681287
black raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В смолтоке кажись, можно, а в cecil есть predicate classes. Можно сказать типа квадрат-это такой прямоугольник у которого стороны равны
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681309
black raven 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
U-geneИнтересно, где-нибудь такая возможность реализована?

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

ps.
Ну или был квадрат - стал прямоугольником

Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------


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

Хотя описание у тебя мутное, можешь попробовать поковыряться в этой теории: http://dl.acm.org/citation.cfm?id=230540 С практической точки зрения, сломать жесткую иерархию наследования, можно с помощью traits или mixins.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681316
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneИнтересно, где-нибудь такая возможность реализована?

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

ps.
Ну или был квадрат - стал прямоугольником

Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------

а зачем?
покажи пример на псевдокоде.

з.ы. в крайнем случае - можно приведение типов сделать.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681330
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneИнтересно, где-нибудь такая возможность реализована?

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

ps.
Ну или был квадрат - стал прямоугольником

JS! =)))
Если конечно не учитывать встроенные типы.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681361
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем это нужно.

Тут наверно издалека надо начинать,что бы контекст вопроса стал понятен.

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

В этом контексте операция развития объекта (назовем ее так) приобретает тот смысл, что объект явно включается в подкласс. Совсем конкретный пример - переход от заказа к отгрузке... или что то типа того. Заказ - он как был так и остается. Если он входил в какие-то группы, он там так и есть. если на него были ссылки - их трогать не надо. интерфейс объекта не меняется. Но после "развития" это же заказ можно использовать как объект класса отгрузка. на него могут ссылаться как на отгрузку, он может входит в другие списки (куда могут входить отгрузки) и т.д.

Смысл операции КМК слово "развитие" очень хорошо передает.

С учетом того, что возможно множественное наследование, такая операция становится еще более интересной. Например класс отгрузка наследует помимо заказа еще и класс запись в фин книге. Получается, что при развитии объекта заказ в сторону отгрузки этот объект становится еще и объектом класса запись в фин книге. А это - уже совсем сбоку класс. То есть, с множественным наследованием, операция "развитие объекта" работает уже не только вверх по иерархии, но и во все стороны, которые в этой иерархии участвуют.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681378
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-gene,
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681379
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наследование - только один аспект. "Является"
Множественного наследования - абсурд. Чек не является ногой, а нога никак не чек. "Имеет отношение к ... в контексте ... "
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681415
Фотография k0rvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneИнтересно, где-нибудь такая возможность реализована?
В CLOS например.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681418
Фотография k0rvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNз.ы. в крайнем случае - можно приведение типов сделать.

Думаю, для динамически типизированных языков не прокатит. Да и не в каждом статическом это возможно. Например в Java, на сколько я знаю, простым приведением этого не сделать, точнее бессмысленно делать, т.к. все равно будут вызываться наиболее специфичные для фактического класса объекта методы.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681765
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот эта картинка - она к чему? что на значит?
И какое отношение человеческие ноги к наследованию?

Самое главное - я не собираюсь спорить о смыслах и об абсурдности. Кому то не нравится множественное наследование, а кто-то наоборот уверен, что только оно имеет смысл. Я задал конкретный вопрос про конкретную операцию, которую можно сделать. а какой смысл в нее будут вкладывать - их дело.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37681824
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k0rvinZyK_BotaNз.ы. в крайнем случае - можно приведение типов сделать.

Думаю, для динамически типизированных языков не прокатит.
я про явное приведение. можно у объекта метод определить "конвертировать в предка", который будет возвращать предка.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682242
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneВот эта картинка - она к чему? что на значит?

В картинке ясно видн как Типы "Процессоры процесса расчетного" стали типами "Процессоры процесса нормативного"
т.е. множественная классификация
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682279
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объект -> Тип
. .....
. Тип -> Класс
. .......
. Класс -> Класс
. .......
. Класс -> ...
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682286
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
формат съехал, но смысль понятна вроде
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682399
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже если бы у меня был под рукой язык, позволяющий на лету менять тип объекта, я бы не стал с ним связываться.
Ведь главное, что требуется - вносить в разные списки, а для этого никакой класс менять не надо. Вноси себе и все.
Вот если одновременно требуется нарастить функциональность (добавить полей, например), то немного репу почесать придется, но все равно делал бы на мэйстриме, а не на экзотике.
Моделировал бы объект как набор слотов, соответстующих подтипу. Подтипы делегируют обращения к элементам суперкласса, если у себя не находят. На ум приходит javascript с прототипированием, но множественного наследования он все равно не потянет, так что лучше моделировать самому. Если писать на Java или C++? то эффективносить исполнения и будет примерно на уровне javascript.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682927
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rfgвносить в разные списки, а для этого никакой класс менять не надо
главный список - это сам класс. объект там есть по умолчанию.
класс - это множесто объектов.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682949
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Об чём тут толкуют? Об апкастинге? Или снова наследуют шар от круга?
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37682992
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-generfgвносить в разные списки, а для этого никакой класс менять не надо
главный список - это сам класс. объект там есть по умолчанию.
класс - это множесто объектов.
объект может быть в разных классах одновременно :)
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683007
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это буч все перепутал, назвав свой КОП ООПом.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683381
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое алкастинг?

но если я правильно понял - то ни капли не алкастинг.

думаю причина вопросов в том, что мало где реализована простая идея "класс - это множестов объектов". класс используют как фабрику объектов, но что бы организовать множество вводят всякие коллекции, экстенты и тд.

То есть для класса существует операция NEW имя_класса(парарметры_конструктора) ,что подразумевает создание нового объекта, но нет операции GET имя_класса (параметры_отбора_объекта) , что подразумевает получение ссылки на уже существующий объект. В существующих системах единственны способ сохранить доступ к объекту - сохранить ссылку на него (в эктенте, коллекции или как то еще). Как только ссылка потеряна - доступа к объекту утерян тоже.

Мой исходный вопрос интересен в контексте системы где такая операция GET есть. Объясню почему. Она позволяет ввести существующий объект в новый класс, а потом получить ссылку на него уже как на объект нового класса. Это подразумевает статический контроль типов. И это абсолютно не то,что мы можем обращаться к объекту класса-наследника по интерфейсу предка.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683415
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneчто такое алкастинг?
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683434
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-gene,

блабла
тебе уже 10 раз показал где это реализовано и намного круче чем ты думаешь
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683731
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 VipRos
да не показал ты ничего. я тебе таких скринов в экселе нарисую десять за час. Ты хоть раз где-нибуть связно мне объяснил, о чем ты говоришь? ссылку дал на доки, на описание или еще на что? Нет.
поэтому я тебя воспринимаю сугубо как тролля, извини. ну ладно... пусть будет тролль с понятиями. в смысле - термины знаешь.

2 mayton
Ржать конечно легче чем думать. Но, уважаемый, я, задав Вам вопрос об алкастинге, как-то сразу перешел на статический контроль типов. То есть, подумавши, можно сделать вывод что речь идет не об одном и том же.... ну, если вы понимаете что такое тип и его статический контроль, ибо all casting это механизм сильно динамический и затратный.
...
Рейтинг: 0 / 0
Поменять класс у существующего объекта
    #37683896
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поменять класс у существующего объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]