WEBVTT

00:00:01.350 --> 00:00:04.550 align:middle
Dans cette vidéo, je voudrais vous
montrer une astuce aussi avec Nautilus.

00:00:06.450 --> 00:00:09.370 align:middle
Petite remarque en
passant, Nautilus c'est le nom du

00:00:09.370 --> 00:00:11.500 align:middle
sous-marin de Jules Verne
dans "20 000 lieues sous les

00:00:11.500 --> 00:00:14.420 align:middle
mers", qui permet de
naviguer les océans donc ça allait

00:00:14.420 --> 00:00:15.490 align:middle
très très bien avec Pharo.

00:00:16.920 --> 00:00:18.430 align:middle
Regardons la classe
OrderedCollection.

00:00:25.260 --> 00:00:28.070 align:middle
Elle est définie dans le
package Collection-Sequenceable.

00:00:30.040 --> 00:00:32.500 align:middle
Dans ce package, il y a
plusieurs classes centrales du

00:00:32.500 --> 00:00:36.400 align:middle
système, il y a la classe Array, il
y a la classe Interval, LinkedList.

00:00:36.960 --> 00:00:40.070 align:middle
Ce que je vois, c'est que
dans le package il y a la

00:00:40.070 --> 00:00:42.840 align:middle
 classe OrderedCollection qui a une
sous-classe qui est SortedCollection.

00:00:42.840 --> 00:00:47.280 align:middle
Maintenant, ce que je vois

00:00:47.280 --> 00:00:51.390 align:middle
aussi, mais ce n'est pas
exprimé de manière graphique,

00:00:52.380 --> 00:00:55.800 align:middle
c'est que OrderedCollection est une
sous-classe de SequenceableCollection.

00:00:57.920 --> 00:00:59.820 align:middle
Moi ce que j'aimerais
faire, parfois, c'est pouvoir

00:00:59.820 --> 00:01:02.390 align:middle
naviguer dans la
super-classe pour voir quelles sont les

00:01:02.390 --> 00:01:04.410 align:middle
méthodes qui sont
redéfinies ou ce genre de choses.

00:01:06.160 --> 00:01:09.510 align:middle
Pour faire ça, je vais
appuyer sur Inheritance.

00:01:13.110 --> 00:01:16.120 align:middle
Du coup, je vois la
hiérarchie, je vois la super-classe

00:01:17.140 --> 00:01:20.430 align:middle
de OrderedCollection,
SequenceableCollection et sa hiérarchie.

00:01:23.450 --> 00:01:26.550 align:middle
Je vois aussi qu'il y a d'autres
sous-classes d'OrderedCollection

00:01:26.990 --> 00:01:29.950 align:middle
dans d'autres packages
apparemment, et je vois aussi que

00:01:29.950 --> 00:01:32.210 align:middle
SortedCollection est bien une
sous-classe d'OrderedCollection,

00:01:33.050 --> 00:01:37.660 align:middle
c'est en noir, je suis
toujours dans le package qui

00:01:37.660 --> 00:01:40.210 align:middle
contient OrderedCollection.

00:01:41.190 --> 00:01:46.090 align:middle
Donc je peux
naviguer, et voir les méthodes

00:01:46.090 --> 00:01:47.850 align:middle
qui sont dans d'autres
packages de cette manière-là.

00:01:50.490 --> 00:01:55.230 align:middle
Maintenant, si je
désélectionne ce mode en étant sur la

00:01:55.230 --> 00:01:56.890 align:middle
super-classe,
qu'est-ce que je vais voir?

00:01:57.340 --> 00:02:00.330 align:middle
Je vais voir le
package de cette classe.

00:02:00.650 --> 00:02:03.450 align:middle
Donc, la classe
SequenceableCollection est dans le

00:02:03.450 --> 00:02:04.440 align:middle
package Collection-Abstract.

00:02:05.470 --> 00:02:08.180 align:middle
Donc maintenant si je
redemande à voir l'héritage, je

00:02:08.180 --> 00:02:12.490 align:middle
vais avoir tout
l'héritage des sous-classes et des

00:02:12.490 --> 00:02:13.480 align:middle
super-classes de
SequenceableCollection.

00:02:14.570 --> 00:02:17.990 align:middle
Je vois que
SequenceableCollection hérite de collection

00:02:17.990 --> 00:02:20.640 align:middle
dans le même package,
qu'elle définit dans le même

00:02:20.640 --> 00:02:25.260 align:middle
package ArrayedCollection.
Je vois que la hiérarchie est

00:02:25.260 --> 00:02:27.490 align:middle
assez grosse, donc
normalement je devrais retrouver

00:02:27.490 --> 00:02:30.620 align:middle
quelque part
OrderedCollection, et OrderedCollection est ici.

00:02:30.650 --> 00:02:34.190 align:middle
Maintenant, si je
re-sélectionne OrderedCollection et que

00:02:34.190 --> 00:02:36.700 align:middle
je re-presse Inheritance,
je vais retourner dans le

00:02:36.700 --> 00:02:39.390 align:middle
package qui était à
l'origine, Sequenceable.

00:02:40.860 --> 00:02:42.440 align:middle
Et nous voilà retourné au départ.

00:02:43.810 --> 00:02:46.670 align:middle
Ce que vous avez vu là,
c'est que Nautilus va vous

00:02:46.670 --> 00:02:50.260 align:middle
permettre de naviguer
l'héritage en faisant abstraction

00:02:50.610 --> 00:02:54.130 align:middle
des packages, mais tout en vous
montrant dans quel package vous naviguez.

