Dans cette vidéo, je voudrais vous montrer une astuce aussi avec Nautilus.
Petite remarque en passant, Nautilus c'est le nom du
sous-marin de Jules Verne dans "20 000 lieues sous les
mers", qui permet de naviguer les océans donc ça allait
très très bien avec Pharo.
Regardons la classe OrderedCollection.
Elle est définie dans le package Collection-Sequenceable.
Dans ce package, il y a plusieurs classes centrales du
système, il y a la classe Array, il y a la classe Interval, LinkedList.
Ce que je vois, c'est que dans le package il y a la
classe OrderedCollection qui a une sous-classe qui est SortedCollection.
Maintenant, ce que je vois
aussi, mais ce n'est pas exprimé de manière graphique,
c'est que OrderedCollection est une sous-classe de SequenceableCollection.
Moi ce que j'aimerais faire, parfois, c'est pouvoir
naviguer dans la super-classe pour voir quelles sont les
méthodes qui sont redéfinies ou ce genre de choses.
Pour faire ça, je vais appuyer sur Inheritance.
Du coup, je vois la hiérarchie, je vois la super-classe
de OrderedCollection, SequenceableCollection et sa hiérarchie.
Je vois aussi qu'il y a d'autres sous-classes d'OrderedCollection
dans d'autres packages apparemment, et je vois aussi que
SortedCollection est bien une sous-classe d'OrderedCollection,
c'est en noir, je suis toujours dans le package qui
contient OrderedCollection.
Donc je peux naviguer, et voir les méthodes
qui sont dans d'autres packages de cette manière-là.
Maintenant, si je désélectionne ce mode en étant sur la
super-classe, qu'est-ce que je vais voir?
Je vais voir le package de cette classe.
Donc, la classe SequenceableCollection est dans le
package Collection-Abstract.
Donc maintenant si je redemande à voir l'héritage, je
vais avoir tout l'héritage des sous-classes et des
super-classes de SequenceableCollection.
Je vois que SequenceableCollection hérite de collection
dans le même package, qu'elle définit dans le même
package ArrayedCollection. Je vois que la hiérarchie est
assez grosse, donc normalement je devrais retrouver
quelque part OrderedCollection, et OrderedCollection est ici.
Maintenant, si je re-sélectionne OrderedCollection et que
je re-presse Inheritance, je vais retourner dans le
package qui était à l'origine, Sequenceable.
Et nous voilà retourné au départ.
Ce que vous avez vu là, c'est que Nautilus va vous
permettre de naviguer l'héritage en faisant abstraction
des packages, mais tout en vous montrant dans quel package vous naviguez.