Avatar billede kernelx Juniormester
10. januar 2005 - 15:01 Der er 4 kommentarer og
1 løsning

OOP i Perl

Hi,

jeg har følgende perlscript:
oop.pl
---------------
#!/usr/bin/perl
use strict;
package Person;
sub new
{
  my $class = shift;
  my $self  = {
                  navn  => shift,
                  alder => shift
              };
  bless ($self, $class);
  return $self;
}
package main;
my $user1 = new Person("hans", 3);

# print navn-fra-user1???
-------------------------------

1.) hvordan kan jeg få navnet fra $user1 printet ud på skærmen?
2.) hvordan ved perl, hvornår klasse-definitionen (package) er færdig?

Med venlig hilsen
KernelX
Avatar billede mfalck Praktikant
10. januar 2005 - 15:14 #1
1) print $user1->{'navn'};
Avatar billede mfalck Praktikant
10. januar 2005 - 15:17 #2
2) det er vel standard package scope - altså når den finder en ny package (klasse) så begynder den nye ?
Avatar billede mfalck Praktikant
10. januar 2005 - 15:24 #3
ellers:
{ package Cow;
      sub sound { "moooo" }
      sub speak {
    my $class = shift;
    print "a $class goes ", $class->sound, "!\n"
      }
    } 

fra:
http://www.perldoc.com/perl5.6/pod/perlboot.html
Avatar billede kernelx Juniormester
10. januar 2005 - 15:48 #4
og main - er så det samme som i C/++?

husk at skrive tingene som svar
Avatar billede mfalck Praktikant
10. januar 2005 - 15:54 #5
der er et default-package scope, som er det når der ikke er nogen package (ala java), men om det er det samme som main ved jeg ikke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester