加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在编写Perl模块时,我是否必须在所有方法中专门检查对象实例?

发布时间:2020-12-15 23:30:06 所属栏目:大数据 来源:网络整理
导读:我正在编写一个有多种方法的模块.让我们考虑一下: package MyPackage;sub new { ...}sub do_your_job { ...}1; 什么阻止某人调用do_your_job,如MyPackage- do_your_job而不是$obj- do_your_job?我是否需要检查每个接收引用的方法作为第一个参数? 解决方法
我正在编写一个有多种方法的模块.让我们考虑一下:

package MyPackage;
sub new {
 ...
}

sub do_your_job {
 ...
}
1;

什么阻止某人调用do_your_job,如MyPackage-> do_your_job而不是$obj-> do_your_job?我是否需要检查每个接收引用的方法作为第一个参数?

解决方法

不可以.如果您的模块仅包含最少的文档,那么应该清楚do_your_job是一个需要在对象上调用的方法.如果有人想以其他方式打电话,那就是他的错.

当然,您可以检查方法的第一个参数是否是受祝福的对象.但这至少有两个缺点:你会失去一点性能,并且你的方法会混乱,因为代码实际上没有做任何方法名称所承诺的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读