perl - 使用 `bless` 创建具有继承的对象

标签 perl oop inheritance

如何使用 bless 创建具有继承的匿名类的对象?

我想我需要设置@ISA,但是如何使用strict来实现这一点?


经过一点райтфолд的提示,我看了看Class::Inner 。他们通过以下方式解决继承问题

no strict 'refs';
@{"$anon_class\::ISA"} = $parent;

有没有办法仍然使用严格的引用来实现这一点?

最佳答案

使用parent为您的类(class)设置基类。 bless 与继承无关:

package Derived;
use warnings;
use strict;
use parent qw(Base);

sub new {
    my $class = shift;
    return bless {}, $class;
}

关于perl - 使用 `bless` 创建具有继承的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29228145/

相关文章:

perl - 加速 HyperLogLog 算法的实现

perl - 可以钩住DATA handle 的开口吗?

javascript - 将窗口传入 IIFE 和其他依赖项也来自窗口

c# - 如何从构造函数中的列表返回对象

scala - 为什么我不能在 Scala 子类中分配给 var?

class - 由于开闭原则处理继承层次结构

regex - Perl 正则表达式 - 为什么正则表达式/[0-9\.]+(\,)/匹配逗号

xml - 如何生成没有尾部 "/"的XML标签?

javascript - 使用 javascript 原型(prototype)继承

c++ - 构造函数链接不使用类成员的默认值?