Hello,
j'essaie depuis un moment de surcharger une méthode dans classe, mais sans succès.
Tous les exemple que je trouve montrent la même chose et je n'arrive pas à voir ce que je fais de différent.
Si une bonne âme y voit plus clair que moi je suis preneur d'un coup de main ;-)
classe mere.pm :
classe fille.pm :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package mere; use strict; use warnings; sub echoData { print getData()."\n"; } sub getData { die 'Should be overriden by children of '.__PACKAGE__; } 1;
fichier test.pl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package fille; use strict; use warnings; use mere; use base qw (mere); my $data = 'PLOP!'; sub getData { return $data; } 1;
exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #!/usr/bin/perl use strict; use warnings; use fille; sub test { fille->echoData(); } test();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2$ perl test.pl Should be overriden by children of mere at mere.pm line 13
Partager