SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Array i klasse



Jeg har en klasse (Album i Album.pm)
hvor jeg ønsker at have et array (Grupper, som optræder på et album).

Jeg har implementeret en metode (albumartist) som kan indsætte
et element i et array, som jeg har lagt 'uden for klassen',
dvs. uden for den hash, som initialiseres i constructor new.

Det ser ud til at virke efter hensigten, men jeg kunne godt tænke mig
* at forstå objektorientering i Perl lidt bedre
* at have en klasse, som ligner andre objektorienterede sprog.

Min løsning, se eksemplet (uddrag fra mit projekt) nedenfor,
vil ikke tillade data-hiding, dvs. flere instantieringer af Album,
antageligvis?

Hvordan kan jeg gemme et array i en klasse?
Hvordan kan jeg tilgå (indsætte/hente data) arrayet?

Jeg har ikke kunnet finde eksempler i mine bøger
eller i ActivePerl's dokumentation.

-------------------
# $Header$

package Album;
use strict;
use Group;

my @_groups = (); # first [0] is album artist, rest is tracks [t]

sub new
{
    my $self = shift;

    my $r_Album =
    {
	"_name"        => undef,
	"_id"          => undef,
	"_dbname"      => undef,
	"_released"    => undef,
	"_albumartist" => undef
    };

    bless $r_Album;
    return $r_Album;
} # constructor

sub albumartist
{
    my $self = shift;
    if (@_)
    {
	$self->{_albumartist} = shift;
	$_groups[0] = Group->new();
	print "scalar(_groups)=".scalar(@_groups)."\n";
    }
    return $self->{_albumartist};
} # albumartist

-------------------


mvh Jan Eggert Kofoed



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .