[Dresden-pm] Objektorientierung unter Perl

create-soft at freenet.de create-soft at freenet.de
Fr Feb 27 22:42:00 PST 2009


Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://mail.pm.org/pipermail/dresden-pm/attachments/20090228/f4ff941f/attachment.html>
-------------- nächster Teil --------------
On Mon, 23 Feb 2009, at 21:58:47, Steffen Schwigon <ss5 at renormalist.net> wrote:
>Aristoteles Pagaltzis <pagaltzis at gmx.de> writes:
> Sorry daß ich hier so heftig auftrete, aber dieser Mensch scheint
> wirklich Quark mit Käse aufgetischt zu haben.
#!/usr/bin/perl -w
#*** breakfast.pl ***#
#-------------------------------------------------
 package ClassMakeBreakfast;
 use strict;
 sub new
  {
  my ($class, %args) = @_;
  my $self = { };
  bless($self, ref($class) || $class);
  $self->_Initialize(%args);
  return $self;
  }
#-------------------------------------------------
 package ClassMilk;
 @ClassMilk::ISA = qw(ClassMakeBreakfast);
 sub _Initialize
  {
  my ($self, %args) = @_;
  # ...
  }
#-------------------------------------------------
 package ClassCheese;
 @ClassCheese::ISA = qw(ClassMakeBreakfast ClassMilk);
 sub _Initialize
  {
  my ($self, %args) = @_;
  # ...
  }
#-------------------------------------------------
 package ClassCurd;
 @ClassCurd::ISA = qw(ClassMakeBreakfast ClassMilk);
 sub _Initialize
  {
  my ($self, %args) = @_;
  # ...
  }
#-------------------------------------------------
 package ClassSandwich;
 @ClassSandwich::ISA = qw(ClassMakeBreakfast ClassCheese ClassCurd);
 sub _Initialize
  {
  my ($self, %args) = @_;
  $self->$_(%args) for(map { $_->can('_Initialize') || () } @ClassSandwich::ISA);
  # ...
  }
 sub Breakfast
  {
  my ($self, %args) =  @_;
  my $count = defined($args{-count}) ? delete($args{-count}) : 0;
  print("Eating $count sandwichs\n") if($count);
  }
 #------------------------------------------------
 package main;
 my $sandwich = ClassSandwich->new();
 $sandwich->Breakfast(-count => 2);
#-------------------------------------------------
 Denke OO,
 Lebe OO,
 Handle OO,
 und es lernt sich wie von selbst ... :-)
 
 Torsten


Gesendet von freenetMail-
Mehr als nur eine E-Mail-Adresse
http://email.freenet.de/dienste/emailoffice/produktuebersicht/basic/mail/index.html?pid=6828


Mehr Informationen über die Mailingliste Dresden-pm