[Dresden-pm] Frage zur Implementation von einer Schnittstelle -
Torsten Knorr
create-soft at freenet.de
Sa Nov 5 05:27:29 PDT 2011
Hallo Hans-Dietrich
> From hd.kirmse at gmx.de Sun Oct 30 13:39:34 2011
> From: hd.kirmse at gmx.de (Hans-Dietrich Kirmse)
> Date: Sun, 30 Oct 2011 21:39:34 +0100
> Subject: [Dresden-pm] Frage zur Implementation von einer
> Schnittstelle -Nachtrag
> Damit habe ich für mein (einfaches) Problem eine Schnittstelle. Ich
> bedanke mich bei allen fürs Mitdenken.
Bei den oben gezeigten Code handelt es sich nicht um eine Schnittstelle
sondern um einen Funktionszeiger der je nach bedarf auf unterschiedliche
Funktionen zeigt. Ich glaube das Problem läßt sich mit
Vererbungspolymorphismus
besser lösen.
#/usr/bin/perl -w
#*** main.pl ***#
#------------------------------------------------
use strict;
use AddonFormat;
my $object = new AddonFormat;
print($object->MyFunction());
#------------------------------------------------
#*** AddonFormat.pm ***#
#------------------------------------------------
package AddonFormat;
use MyDefaultFormat;
@ISA = qw(MyDefaultFormat);
# Ist diese Funktion vorhanden wird sie aufgerufen.
# Wenn nicht wird in der Basisklasse danach gesucht.
# sub MyFunction
# {
# return "Hello From Addon Function\n";
# }
1;
#------------------------------------------------
#*** MyDefaultFormat.pm ***#
#------------------------------------------------
package MyDefaultFormat;
sub new
{
my ($class) = @_;
my $self = {};
bless($self, $class || ref($class));
return $self;
}
sub MyFunction
{
return "Hello From Default Function\n";
}
1;
#------------------------------------------------
Gruß Torsten
Mehr Informationen über die Mailingliste Dresden-pm