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 :
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;
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 fille;
 
use strict;
use warnings;
 
use mere;
use base qw (mere);
 
my $data = 'PLOP!';
 
sub getData
{
	return $data;
}
 
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
#!/usr/bin/perl
 
use strict;
use warnings;
 
use fille;
 
sub test
{
	fille->echoData();
}
 
test();
exécution :
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