#!/usr/bin/perl
# 下面是简单的类实现
package ;
sub new
{
print "MyClass::new called\n";
my $type = shift; # 包名
my $self = {}; # 引用空哈希
return bless $self, $type;
}
sub DESTROY
{
print "MyClass::DESTROY called\n";
}
sub
{
print "MyClass::MyMethod called!\n";
}
# 继承实现
package ;
@ISA = qw( MyClass );
sub new
{
print "MySubClass::new called\n";
my $type = shift; # 包名
my $self = ->new; # 引用空哈希
return bless $self, $type;
}
sub DESTROY
{
print "MySubClass::DESTROY called\n";
}
sub
{
my $self = shift;
$self->:: ();
print " MySubClass::MyMethod called!\n";
}
# 调用以上类的主程序
package ;
print "调用 MyClass 方法\n";
$myObject = ->new();
$myObject-> ();
print "调用 MySubClass 方法\n";
$myObject2 = ->new();
$myObject2-> ();
print "创建一个作用域对象\n";
{
my $myObject2 = ->new();
}
# 自动调用析构函数
print "创建对象\n";
$myObject3 = ->new();
undef $myObject3;
print "脚本执行结束...\n";
# 自动执行析构函数