Bonjour,
j'ai quelques soucis a propos de l'heritage multiple.
Suite aux tutoriaux, j'utilise le code suivant pour appeler 2 autres classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#!/usr/bin/perl
 
package Probe::Main;
use warnings;
use strict;
use Carp;
use Data::Dump qw(dump);
use base qw( Probe::Data Probe::Design );
Dans chacune de ces classes, j'ecris un print à la 1ere instruction de la fonction new :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
#dans Main.pm :
sub new {
  print "new main\n";
  my ( $class, $ref_arguments ) = @_;
  $class = ref($class) || $class;
  my $this = $class->SUPER::new($ref_arguments);
  bless( $this, $class );
  return $this;
}
 
#dans Data.pm :
sub new {
  print "new data\n";
  my ( $class, $ref_arguments ) = @_;
  $class = ref($class) || $class;
  my $this = {};
  bless( $this, $class );
  return $this;
}
 
#dans Design.pm :
sub new {
  print "new design\n";
  my ( $class, $ref_arguments ) = @_;
  $class = ref($class) || $class;
  my $this = $class->SUPER::new($ref_arguments);
  bless( $this, $class );
  return $this;
}
Ceci n'affiche que :
new main
new data

Donc design ne se charge pas ?
Je ne comprends pas pourquoi, ayant utilisé base comme expliquer dans les tutoriaux : http://djibril.developpez.com/tutori...rl/poo/#LB-6-b

Merci de votre aide
Z.