如何在同一个类的Perl中使用类的实例

a7omiton

我是OOPerl的新手,想知道如何在该类中引用一个类的实例(即$this在PHP中),以便能够调用其“私有”方法

为了更清楚一点:

例如在PHP中:

class Foo {
    public function __construct(){

    }

    public function doThis(){
         $that = $this->doThat(); //How to reference a "private" function in perl that is defined in the same class as the calling function?
         return $that;
    }

    private function doThat(){
         return "Hi";
    }
}
鲍罗丁

Perl方法是普通的子例程,它们期望其参数数组第一个元素是@_在其上调用该方法的对象。

定义为的对象

my $object = Class->new

然后可以用来调用方法,像这样

$object->method('p1', 'p2')

习惯名称是$self,并且在方法中将其分配为普通变量,如下所示

sub method {
  my $self = shift;
  my ($p1, $p2) = @_;

  # Do stuff with $self according to $p1 and $p2

}

因为shift从中删除了对象@_,所以剩下的全部就是方法调用的显式参数,这些参数被复制到局部参数变量中。

有许多方法可以使Perl中的私有方法无法访问,但是绝大多数代码只是相信调用代码可以做正确的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在同一个类中使用重载的运算符[]?

来自分类Dev

Python:如何在同一个类中获取类的创建实例?

来自分类Dev

在同一个类的实例方法中使用静态方法

来自分类Dev

在同一个类中使用不同的函数时如何在Python中获取Checkbox的值

来自分类Dev

如何在同一类Perl中使用类的实例

来自分类Dev

PHP OOP:如何在同一个类的另一个方法中使用一个方法?

来自分类Dev

Laravel-在同一个文件夹中使用一个类

来自分类Dev

如何在另一个生成字节码类中使用匿名类实例

来自分类Dev

使用面向对象的方法对同一个类的实例进行python并发

来自分类Dev

如何在python中使用另一个实例的类名创建实例?

来自分类Dev

如何在同一个类中一起使用split方法和stringbuilder?

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

来自分类Dev

可以在同一个类中使用OneToOne逆属性吗?怎么样?

来自分类Dev

当不在对象上下文中时,在同一个类中使用$ this

来自分类Dev

封装-在同一个类中使用吸气剂?

来自分类Dev

不能在同一个文件夹中使用类

来自分类Dev

如何在 C++ 中将一个类的实例完全重新分配给同一个类的另一个实例(然后删除原始对象)?

来自分类Dev

如何在同一个类的另一个方法中调用一个方法?

来自分类Dev

如何在同一个类中继承方法?爪哇

来自分类Dev

Django-如何在同一个类中复制字段

来自分类Dev

如何在同一个类中调用接口方法?

来自分类Dev

如何在同一个基类的方法中获取所有属性?

来自分类Dev

如何在同一个类中的静态方法中引发异常

来自分类Dev

如何在同一个OOP类中修改多个对象?

来自分类Dev

如何在jQuery中从同一个类名div获取值

来自分类Dev

如何在同一个成员变量中存储不同的专用模板类?

来自分类Dev

一个页面上同一个javascript类的两个实例引用同一个实例

来自分类Dev

如何在同一个jQuery函数中使用两个追加?

来自分类Dev

如何在同一个类中切换单个元素,就像另一个

Related 相关文章

  1. 1

    如何在同一个类中使用重载的运算符[]?

  2. 2

    Python:如何在同一个类中获取类的创建实例?

  3. 3

    在同一个类的实例方法中使用静态方法

  4. 4

    在同一个类中使用不同的函数时如何在Python中获取Checkbox的值

  5. 5

    如何在同一类Perl中使用类的实例

  6. 6

    PHP OOP:如何在同一个类的另一个方法中使用一个方法?

  7. 7

    Laravel-在同一个文件夹中使用一个类

  8. 8

    如何在另一个生成字节码类中使用匿名类实例

  9. 9

    使用面向对象的方法对同一个类的实例进行python并发

  10. 10

    如何在python中使用另一个实例的类名创建实例?

  11. 11

    如何在同一个类中一起使用split方法和stringbuilder?

  12. 12

    Java:如何在另一个类中使用在一个类中实例化的对象?

  13. 13

    可以在同一个类中使用OneToOne逆属性吗?怎么样?

  14. 14

    当不在对象上下文中时,在同一个类中使用$ this

  15. 15

    封装-在同一个类中使用吸气剂?

  16. 16

    不能在同一个文件夹中使用类

  17. 17

    如何在 C++ 中将一个类的实例完全重新分配给同一个类的另一个实例(然后删除原始对象)?

  18. 18

    如何在同一个类的另一个方法中调用一个方法?

  19. 19

    如何在同一个类中继承方法?爪哇

  20. 20

    Django-如何在同一个类中复制字段

  21. 21

    如何在同一个类中调用接口方法?

  22. 22

    如何在同一个基类的方法中获取所有属性?

  23. 23

    如何在同一个类中的静态方法中引发异常

  24. 24

    如何在同一个OOP类中修改多个对象?

  25. 25

    如何在jQuery中从同一个类名div获取值

  26. 26

    如何在同一个成员变量中存储不同的专用模板类?

  27. 27

    一个页面上同一个javascript类的两个实例引用同一个实例

  28. 28

    如何在同一个jQuery函数中使用两个追加?

  29. 29

    如何在同一个类中切换单个元素,就像另一个

热门标签

归档