<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//DE"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><TITLE>Message</TITLE></HEAD><BODY><P>On Mon, 23 Feb 2009, at 21:58:47, Steffen Schwigon <<A href="mailto:ss5@renormalist.net">ss5@renormalist.net</A>> wrote:</P>
<P>>Aristoteles Pagaltzis <<A href="mailto:pagaltzis@gmx.de">pagaltzis@gmx.de</A>> writes:</P>
<P>> Sorry daß ich hier so heftig auftrete, aber dieser Mensch scheint<BR>> wirklich Quark mit Käse aufgetischt zu haben.</P>
<P>#!/usr/bin/perl -w<BR>#*** breakfast.pl ***#<BR>#-------------------------------------------------<BR> package ClassMakeBreakfast;<BR> use strict;<BR> sub new<BR> {<BR> my ($class, %args) = @_;<BR> my $self = { };<BR> bless($self, ref($class) || $class);<BR> $self->_Initialize(%args);<BR> return $self;<BR> }<BR>#-------------------------------------------------<BR> package ClassMilk;<BR> @ClassMilk::ISA = qw(ClassMakeBreakfast);<BR> sub _Initialize<BR> {<BR> my ($self, %args) = @_;<BR> # ...<BR> }<BR>#-------------------------------------------------<BR> package ClassCheese;<BR> @ClassCheese::ISA = qw(ClassMakeBreakfast ClassMilk);<BR> sub _Initialize<BR> {<BR> my ($self, %args) = @_;<BR> # ...<BR> }<BR>#-------------------------------------------------<BR> package ClassCurd;<BR> @ClassCurd::ISA = qw(ClassMakeBreakfast ClassMilk);<BR> sub _Initialize<BR> {<BR> my ($self, %args) = @_;<BR> # ...<BR> }<BR>#-------------------------------------------------<BR> package ClassSandwich;<BR> @ClassSandwich::ISA = qw(ClassMakeBreakfast ClassCheese ClassCurd);<BR> sub _Initialize<BR> {<BR> my ($self, %args) = @_;<BR> $self->$_(%args) for(map { $_->can('_Initialize') || () } @ClassSandwich::ISA);<BR> # ...<BR> }<BR> sub Breakfast<BR> {<BR> my ($self, %args) = @_;<BR> my $count = defined($args{-count}) ? delete($args{-count}) : 0;<BR> print("Eating $count sandwichsn") if($count);<BR> }<BR> #------------------------------------------------<BR> package main;<BR> my $sandwich = ClassSandwich->new();<BR> $sandwich->Breakfast(-count => 2);<BR>#-------------------------------------------------</P>
<P> Denke OO,<BR> Lebe OO,<BR> Handle OO,<BR> und es lernt sich wie von selbst ... :-)<BR> <BR> Torsten<BR></P>
<br>--<br><!-- AdSpace freenet EMO Webmail Banner -->
<a href="http://adserver.freenet.de/click.ng/site=fn&prod=chetools&kat=inhalte&tbl=webmail&ppos=14&TransactionID=123580332068740&rgtg=256" target="_blank"><img src="http://adserver.freenet.de/image.ng/site=fn&prod=chetools&kat=inhalte&tbl=webmail&ppos=14&TransactionID=123580332068740&rgtg=256" border="0"></a><!-- / AdSpace -->
</BODY></HTML>