[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.32,Default,,0000,0000,0000,,Je vais vous parler d'un concept\Nutile que vous pouvez utiliser Dialogue: 0,0:00:03.32,0:00:06.15,Default,,0000,0000,0000,,pour organiser vos classes efficacement. Dialogue: 0,0:00:06.15,0:00:08.68,Default,,0000,0000,0000,,C'est ce qu'on appelle \Nle concept de couplage. Dialogue: 0,0:00:08.68,0:00:11.31,Default,,0000,0000,0000,,Et nous dirons qu'une classe \Nest couplée à une autre Dialogue: 0,0:00:11.31,0:00:13.15,Default,,0000,0000,0000,,si elle utilise l'autre classe. Dialogue: 0,0:00:13.15,0:00:15.54,Default,,0000,0000,0000,,En fait, BlueJ nous montre cette relation, Dialogue: 0,0:00:16.34,0:00:19.58,Default,,0000,0000,0000,,avec ces flèches que vous avez \Npeut-être déjà remarquées. Dialogue: 0,0:00:20.15,0:00:21.99,Default,,0000,0000,0000,,Dans cet exemple, la classe Car Dialogue: 0,0:00:21.99,0:00:24.25,Default,,0000,0000,0000,,est couplé à une classe Person, Dialogue: 0,0:00:24.49,0:00:27.50,Default,,0000,0000,0000,,car le code de la classe Car\Nutilise des objets Person. Dialogue: 0,0:00:28.36,0:00:31.76,Default,,0000,0000,0000,,Mais la classe Person n'est pas \Ncouplée à la classe Car Dialogue: 0,0:00:31.76,0:00:34.65,Default,,0000,0000,0000,,car l'objet Person\Nne sait rien des voitures. Dialogue: 0,0:00:35.05,0:00:36.54,Default,,0000,0000,0000,,Je vais vous le montrer. Dialogue: 0,0:00:38.85,0:00:41.55,Default,,0000,0000,0000,,Quand vous regardez \Nle code de la classe Person, Dialogue: 0,0:00:41.55,0:00:43.90,Default,,0000,0000,0000,,vous verrez qu'il n'y a pas\Nde voitures dedans, Dialogue: 0,0:00:43.90,0:00:46.73,Default,,0000,0000,0000,,mais quand vous regardez \Nle code de la classe Car, Dialogue: 0,0:00:46.73,0:00:50.73,Default,,0000,0000,0000,,il y a une personne ici et la classe\NPerson est utilisée ici. Dialogue: 0,0:00:51.100,0:00:55.05,Default,,0000,0000,0000,,Comme je l'ai dit, la classe Car \Nconnaît la classe Person, Dialogue: 0,0:00:55.05,0:00:57.63,Default,,0000,0000,0000,,mais la classe Person \Nne connaît pas la classe Car. Dialogue: 0,0:00:57.95,0:01:01.35,Default,,0000,0000,0000,,C'est une bonne idée si toutes les classes\Nne connaissent pas les autres, Dialogue: 0,0:01:01.35,0:01:03.44,Default,,0000,0000,0000,,cela facilite les changements. Dialogue: 0,0:01:03.44,0:01:07.44,Default,,0000,0000,0000,,Par exemple, si nous faisons\Nun changement dans la classe Car, Dialogue: 0,0:01:07.54,0:01:09.51,Default,,0000,0000,0000,,la classe Person ne s'en soucie pas. Dialogue: 0,0:01:09.51,0:01:11.70,Default,,0000,0000,0000,,Il n'a jamais connu la classe \Nen premier lieu. Dialogue: 0,0:01:11.70,0:01:15.20,Default,,0000,0000,0000,,On veut garder le couplage entre \Nclasses aussi bas que possible. Dialogue: 0,0:01:15.70,0:01:19.25,Default,,0000,0000,0000,,Voyons à quelles autres classes \Nla classe Car peut être associée. Dialogue: 0,0:01:19.97,0:01:22.86,Default,,0000,0000,0000,,Allez-y, passez en revue \Nle code de la classe Car, Dialogue: 0,0:01:25.08,0:01:26.99,Default,,0000,0000,0000,,et donnez-moi une liste Dialogue: 0,0:01:27.34,0:01:30.04,Default,,0000,0000,0000,,de toutes les classes que\Nla classe Car utilise. Dialogue: 0,0:01:30.64,0:01:33.35,Default,,0000,0000,0000,,Mettez simplement les noms \Ndes classes dans cette case.