如何重新分类Perl对象

前端之家收集整理的这篇文章主要介绍了如何重新分类Perl对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一些Perl包,我们称之为Some :: Parser和Some :: Data. Some :: Parser对象具有返回Some :: Data类型对象的方法.我编写了一个扩展Some :: Data类的类,我们称之为My :: Data. My :: Data类的对象实际上只是Some :: Data类的对象,但是使用其他方法可以更容易地使用它们.

我的问题是我想继续使用Some :: Parser类来完成解析数据的艰苦工作.正如我之前所说,Some :: Parser对象给了我Some :: Data对象.一旦掌握了Some :: Data对象,有没有办法将其重新分类为My :: Data对象?我该怎么做?

我完全愿意改变我的方法,假设有人可以提出一个更好的方法来做我想做的事情,但编写我自己的解析器并不是我有兴趣做的事情!

解决方法

这闻起来有点像kludge.可能是重新考虑您的策略的时候了.例如,也许您应该编写My :: Parser,它返回My :: Data对象.

但是如果您不想这样做,您可以手动使用bless来更改对象的类:

my $obj = Some::Data->new;
bless $obj,'My::Data';

见perldoc中的bless.

猜你在找的Perl相关文章