Olivier,
jette aussi un oeil à la classe Behavior, dans les protocoles de
méthode accessing*, tu y verras des méthodes d'instance très utiles comme :
- allSubclasses
- allSuperclasses
- allSelectors
- sourceCodeAt:
...
Et comme toutes les classes héritent de Behavior, toutes tes classes en
bénéficient.
Un exemple en Pharo:
OrderedCollection allSuperclasses
-> an OrderedCollection(SequenceableCollection Collection Object
ProtoObject)
Ceci est valable en VisualWorks & Pharo.
Ludo.
Le 06/03/2012 08:11, laurent laffont a écrit :
> monObjectFilsDeFils isKindOf: ClassPere
>
> Laurent
>
>
> 2012/3/4 Olivier Auverlot <
[hidden email]
> <mailto:
[hidden email]>>
>
> Bonjour à tous,
>
> Voici un scénario :
> -> Classe Pere
> -> Classe Fils
> -> Classe FilsDeFils
>
>
> Comment déterminer dynamiquement qu'une instance de la classe
> FilsDeFils est un objet héritant de la classe Pere ?
>
> Il y a bien la méthode superclass qui permet de connaitre la classe
> dont la classe courante hérite mais comment faire s'il y a plusieurs
> niveaux d'héritage ? Existe t'il une méthode toute faite ou faut il
> l'écrire (remonter l'héritage jusqu'au moment où l'on trouve Object) ?
>
> Olivier ;-)
> www.auverlot.fr <
http://www.auverlot.fr>
>
>
--
Ludovic
Ludovic