Tu as oublié qu'il faut préférer la composition à l'héritage?
et du coup tu sais plus trop qui hérite de quoi ? Class::ISA permet de faire de la généalogie en perl :
# Une classe mère
package Maman;
sub one { 1 }
# dont hérite une autre classe
package Chiard; use base 'Maman';
sub new { bless {}, shift }
package main;
use strict;
use warnings;
use Class::ISA;
# création d'un chiard
my $x = new Chiard;
my $ref = ref $x;
# Généalogie ascendante
print "$_\n" for $ref, Class::ISA::super_path( $ref );
bazooka, tuer la mouche, tout ca ...
en y réfléchissant 2 secondes, je me demande si ca justifiait un paquet:
#! /usr/local/bin/perl -l # classes # A avec un constructeur package A; sub new { bless {},shift } # B herite de A ( donc B::ISA = qw<A> ) package B; use base 'A'; package main; use strict; use warnings; my $b = new B; sub genealogy { print; # utilisation de référence symbolique pour chercher le tableau @B::ISA no strict 'refs'; &genealogy for @{"${_}::ISA"}; use strict 'refs'; } $_ = ref $b; &genealogy;>Ever heard of .cshrc?
That's a city in Bosnia. Right?
c'est toi t'es une astuce pour le proxy microsoft!
C'est même Hervé et toi qui essayez de me refourger un AD en lieu et place de solutions libres ! (je cafte au cas ou des potes a toi nous liraient)
ISA est a lire en 2 bouts : IS A
comme dans "Fabien IS A geek"
J'espère que tu passes de bonnes fêtes!
marc
>Ever heard of .cshrc?
That's a city in Bosnia. Right?
Ouf
En voyant ISA, j'ai cru que c'etait une astuce pour le proxy de Microsoft ;)
Poster un nouveau commentaire