1 00:00:01,350 --> 00:00:04,550 Dans cette vidéo, je voudrais vous montrer une astuce aussi avec Nautilus. 2 00:00:06,450 --> 00:00:09,370 Petite remarque en passant, Nautilus c'est le nom du 3 00:00:09,370 --> 00:00:11,500 sous-marin de Jules Verne dans "20 000 lieues sous les 4 00:00:11,500 --> 00:00:14,420 mers", qui permet de naviguer les océans donc ça allait 5 00:00:14,420 --> 00:00:15,490 très très bien avec Pharo. 6 00:00:16,920 --> 00:00:18,430 Regardons la classe OrderedCollection. 7 00:00:25,260 --> 00:00:28,070 Elle est définie dans le package Collection-Sequenceable. 8 00:00:30,040 --> 00:00:32,500 Dans ce package, il y a plusieurs classes centrales du 9 00:00:32,500 --> 00:00:36,400 système, il y a la classe Array, il y a la classe Interval, LinkedList. 10 00:00:36,960 --> 00:00:40,070 Ce que je vois, c'est que dans le package il y a la 11 00:00:40,070 --> 00:00:42,840 classe OrderedCollection qui a une sous-classe qui est SortedCollection. 12 00:00:42,840 --> 00:00:47,280 Maintenant, ce que je vois 13 00:00:47,280 --> 00:00:51,390 aussi, mais ce n'est pas exprimé de manière graphique, 14 00:00:52,380 --> 00:00:55,800 c'est que OrderedCollection est une sous-classe de SequenceableCollection. 15 00:00:57,920 --> 00:00:59,820 Moi ce que j'aimerais faire, parfois, c'est pouvoir 16 00:00:59,820 --> 00:01:02,390 naviguer dans la super-classe pour voir quelles sont les 17 00:01:02,390 --> 00:01:04,410 méthodes qui sont redéfinies ou ce genre de choses. 18 00:01:06,160 --> 00:01:09,510 Pour faire ça, je vais appuyer sur Inheritance. 19 00:01:13,110 --> 00:01:16,120 Du coup, je vois la hiérarchie, je vois la super-classe 20 00:01:17,140 --> 00:01:20,430 de OrderedCollection, SequenceableCollection et sa hiérarchie. 21 00:01:23,450 --> 00:01:26,550 Je vois aussi qu'il y a d'autres sous-classes d'OrderedCollection 22 00:01:26,990 --> 00:01:29,950 dans d'autres packages apparemment, et je vois aussi que 23 00:01:29,950 --> 00:01:32,210 SortedCollection est bien une sous-classe d'OrderedCollection, 24 00:01:33,050 --> 00:01:37,660 c'est en noir, je suis toujours dans le package qui 25 00:01:37,660 --> 00:01:40,210 contient OrderedCollection. 26 00:01:41,190 --> 00:01:46,090 Donc je peux naviguer, et voir les méthodes 27 00:01:46,090 --> 00:01:47,850 qui sont dans d'autres packages de cette manière-là. 28 00:01:50,490 --> 00:01:55,230 Maintenant, si je désélectionne ce mode en étant sur la 29 00:01:55,230 --> 00:01:56,890 super-classe, qu'est-ce que je vais voir? 30 00:01:57,340 --> 00:02:00,330 Je vais voir le package de cette classe. 31 00:02:00,650 --> 00:02:03,450 Donc, la classe SequenceableCollection est dans le 32 00:02:03,450 --> 00:02:04,440 package Collection-Abstract. 33 00:02:05,470 --> 00:02:08,180 Donc maintenant si je redemande à voir l'héritage, je 34 00:02:08,180 --> 00:02:12,490 vais avoir tout l'héritage des sous-classes et des 35 00:02:12,490 --> 00:02:13,480 super-classes de SequenceableCollection. 36 00:02:14,570 --> 00:02:17,990 Je vois que SequenceableCollection hérite de collection 37 00:02:17,990 --> 00:02:20,640 dans le même package, qu'elle définit dans le même 38 00:02:20,640 --> 00:02:25,260 package ArrayedCollection. Je vois que la hiérarchie est 39 00:02:25,260 --> 00:02:27,490 assez grosse, donc normalement je devrais retrouver 40 00:02:27,490 --> 00:02:30,620 quelque part OrderedCollection, et OrderedCollection est ici. 41 00:02:30,650 --> 00:02:34,190 Maintenant, si je re-sélectionne OrderedCollection et que 42 00:02:34,190 --> 00:02:36,700 je re-presse Inheritance, je vais retourner dans le 43 00:02:36,700 --> 00:02:39,390 package qui était à l'origine, Sequenceable. 44 00:02:40,860 --> 00:02:42,440 Et nous voilà retourné au départ. 45 00:02:43,810 --> 00:02:46,670 Ce que vous avez vu là, c'est que Nautilus va vous 46 00:02:46,670 --> 00:02:50,260 permettre de naviguer l'héritage en faisant abstraction 47 00:02:50,610 --> 00:02:54,130 des packages, mais tout en vous montrant dans quel package vous naviguez.