在编写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是一个需要在对象上调用的方法.如果有人想以其他方式打电话,那就是他的错.
当然,您可以检查方法的第一个参数是否是受祝福的对象.但这至少有两个缺点:你会失去一点性能,并且你的方法会混乱,因为代码实际上没有做任何方法名称所承诺的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |