Bonjour,
j'ai quelques soucis a propos de l'heritage multiple.
Suite aux tutoriaux, j'utilise le code suivant pour appeler 2 autres classes :
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 #!/usr/bin/perl package Probe::Main; use warnings; use strict; use Carp; use Data::Dump qw(dump); use base qw( Probe::Data Probe::Design );
Ceci n'affiche que :
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; }
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.
Partager