zoukankan      html  css  js  c++  java
  • 一个perl的面向对象编程例子

    基类是一个操作系统类

    代码
    package os;
    require Exporter;
    @ISA = qw(Exporter);
    @EXPORT = qw(temp);

    sub getDF{}

    sub temp{
    my $this = shift;
    print $this->getDF();
    print "\n";
    }

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

    1;

    两个子类分别是sunos和hpos

    代码
    package hpos;
    require Exporter;
    require os;
    @ISA = qw(Exporter os);
    @EXPORT= qw();

    my %cmd =(
    'df' => 'bdf -l',
    'ps' => 'ps -efx'
    );

    sub getDF{
    return $cmd{'df'};
    }

    sub new{
    my $class =shift;
    my $this = os->new();
    bless $this,$class;
    return $this;
    }
    代码
    package sunos;
    require Exporter;
    require os;
    @ISA = qw(Exporter os);
    @EXPORT= qw();

    my %cmd =(
    'df' => 'df -kl',
    'ps' => 'ps -ef'
    );

    sub getDF{
    return $cmd{'df'};
    }

    sub new{
    my $class =shift;
    my $this = os->new();
    bless $this,$class;
    return $this;
    }

    1;

    对象创建工厂

    package factory;

    sub createOS{
    my $self=shift;
    my $os = shift;
    return new sunos if ($os eq 'sun');
    return new hpos if ($os eq 'hp');
    }

    sub createDB{
    }
    1;

    客户端程序

    #!/usr/bin/perl
    push(@INC,`pwd`);
    use sunos;
    use hpos;
    use factory;
    $os = factory->createOS('hp');
    $os ->temp();

    $os = factory->createOS('sun');
    $os->temp();
  • 相关阅读:
    关于hibernate的缓存使用(转)
    Webservice 实践
    三大电商注册登录表单分析
    网上好文搜集
    git简介
    Python程序中的进程操作--—--开启多进程
    进程的创建和结束
    同步异步阻塞和非阻塞
    进程的并行和并发
    进程调度
  • 原文地址:https://www.cnblogs.com/itfriend/p/1788101.html
Copyright © 2011-2022 走看看