Просмотр полной версии : Clone()
ДОбрый день. Господа, а есть какой-то стандартный быстрый способ клонирования объектов собственных класов, чтобы не реализовывать самому и не делать поэлементное копирование?
Спасибо.
http://flasher.ru/forum/showpost.php?p=573868&postcount=14
Дошли руки, попробовал, не все так хорошо :(
Object получить без проблем, а вот тип привести - ругается, что не может. Ни через as, ни через явное приведение.
TypeError: Error #1034: Type Coercion failed: cannot convert Object@35d34a1 to bcs.entities.Permission.
at componentsAdmin::EditRoleForm/componentsAdmin:EditRoleForm::addToRole()[D:\svn\bcs\client_flex\componentsAdmin\EditRoleForm.mxml:130]
at componentsAdmin::EditRoleForm/__btnAdd_click()[D:\svn\bcs\client_flex\componentsAdmin\EditRoleForm.mxml:9]
ладно, будет старым дедовским способом -
public interface ICloneable
{
function clone():*;
}
PIL78, оформите свой код в постах.
Код я оформил, но реально не услышал, почему не отрабатывает приведение типов, так как в указанном примере. Хотя код практически аналогичный.
Спасибо
Потому что лучше писать свой метод clone() в классе, если он нужен.
Уважаемый __etc, у меня в первом посте еще написано:
Господа, а есть какой-то стандартный быстрый способ клонирования объектов собственных класов, чтобы не реализовывать самому
Вы мне привели пример с копированием через BitArray, а теперь говорите совершенно другое.
Я знаком не с одним ООП языком и поверьте знаю как делаются такие вещи, поэтому и спросил про варианты конкретно в этой технологии.
Так что там с приведением типов - в чем проблемма?
Не знаю, лично я этим методом не пользовался. Обычно для клонирования пишу соответствующий метод класса, тем более, это не занимает много времени. Да и сама задача такого рода редко появляется.
Могу поковыряться, конечно, если не забуду. О результатах отпишу (если нет, значит забыл) :).
Flashdown
28.04.2007, 13:41
ещё для клонирования объекта есть метод в библиотеке ObjectUtils
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.