﻿1
00:00:04,650 --> 00:00:10,830
‫因此, 在前面的章节中, 我们通过参与者大量使用了继承｡

2
00:00:10,860 --> 00:00:11,940
‫现在什么是继承？

3
00:00:11,940 --> 00:00:18,960
‫继承是指子类自动拥有其父类的所有功能｡

4
00:00:18,990 --> 00:00:23,060
‫从本质上说, 孩子是父母｡

5
00:00:23,070 --> 00:00:25,560
‫那么我们之前在哪里使用过呢？

6
00:00:25,560 --> 00:00:33,420
‫举个例子, 在我们的移动平台中, 我们有一个演员, 他是一个移动平台演员,

7
00:00:33,420 --> 00:00:39,240
‫然后我们有这个演员的不同的孩子, 他们给了我们旋转的平台, 上下的平台,

8
00:00:39,240 --> 00:00:41,730
‫从一边到一边的推动器｡

9
00:00:41,730 --> 00:00:43,020
‫那些都是孩子｡

10
00:00:43,020 --> 00:00:45,060
‫他们都是搬运工｡

11
00:00:45,060 --> 00:00:49,260
‫你可以说移动的推动者是移动者｡

12
00:00:49,260 --> 00:00:53,760
‫我们可以说, 旋转的指挥棒是一个推动者｡

13
00:00:53,940 --> 00:00:59,880
‫因此, 除了使用继承之外, 还有一种选择, 即要么全有, 要么全无｡

14
00:00:59,880 --> 00:01:04,770
‫这是一种更有选择性的构图｡

15
00:01:04,770 --> 00:01:12,180
‫你可以说类A有类B的一个实例, 它可以选择使用这个功能, 但它不是必须这样做｡

16
00:01:12,180 --> 00:01:17,460
‫它并不局限于B类, 它可以选择它想要的位｡

17
00:01:17,460 --> 00:01:27,990
‫所以我们说类A有一个类B, 让我们看一些继承和组合的例子, 使用一些非常自然的东西｡

18
00:01:27,990 --> 00:01:35,160
‫我认为在动物王国中, 谈到遗传, 我们可能会有一个类, 一个演员, 说它是一个动物演员,

19
00:01:35,160 --> 00:01:40,380
‫它有一个方法, 那就是过它的生活｡

20
00:01:40,380 --> 00:01:48,420
‫当你现在调用这个方法的时候, 让哺乳动物继承这个方法是有意义的, 因为它也需要生存｡

21
00:01:48,420 --> 00:01:54,510
‫所以它需要动物所具有的所有功能, 但它增加了一些更多的功能, 比如产奶｡

22
00:01:55,260 --> 00:02:01,080
‫我们也可能有一种爬行动物, 它有产卵的功能｡

23
00:02:01,080 --> 00:02:06,660
‫可以说哺乳动物是动物爬行动物也是动物.

24
00:02:07,050 --> 00:02:11,100
‫现在我们可以继续说, 好吧, 我们有一头奶牛｡

25
00:02:11,100 --> 00:02:12,960
‫牛显然是哺乳动物｡

26
00:02:12,960 --> 00:02:13,980
‫它需要制造牛奶｡

27
00:02:13,980 --> 00:02:18,450
‫推而广之, 它也需要生存, 因为它也是动物｡

28
00:02:18,720 --> 00:02:23,040
‫蛇是一种爬行动物, 也是一种动物, 但不是哺乳动物｡

29
00:02:23,040 --> 00:02:24,600
‫所以这也说得通｡

30
00:02:24,600 --> 00:02:26,520
‫但是鸭嘴兽呢？

31
00:02:26,670 --> 00:02:31,830
‫鸭嘴兽突然需要同时是哺乳动物和爬行动物因为它需要产卵的功能, 需要产奶的功能,

32
00:02:31,830 --> 00:02:35,490
‫它需要是动物｡

33
00:02:35,490 --> 00:02:38,250
‫所以这和继承有点混淆｡

34
00:02:38,250 --> 00:02:43,650
‫继承会给我们带来束缚, 使这些情况变得很难解决,

35
00:02:43,650 --> 00:02:46,380
‫这就是为什么合成是拯救我们的方法｡

36
00:02:46,410 --> 00:02:48,420
‫这里是有关系的｡

37
00:02:48,420 --> 00:02:54,870
‫所以我们不要试图用动物和哺乳动物等来建立这个分类法｡  ,

38
00:02:54,870 --> 00:03:01,020
‫我们要做的是, 我们有一个产奶组件, 这个组件具有产奶的功能｡

39
00:03:01,020 --> 00:03:06,420
‫所以奶牛会有一种产奶的成分, 它就有了它的功能｡

40
00:03:06,420 --> 00:03:13,830
‫从那里, 蛇可以有它的产卵组件, 它从那里获得它的产卵功能｡

41
00:03:13,860 --> 00:03:16,470
‫鸭嘴兽可以同时拥有这两种成分｡

42
00:03:16,470 --> 00:03:18,480
‫它不需要挑选一个组件｡

43
00:03:18,480 --> 00:03:23,340
‫它可以拥有所有这些功能, 并且可以很好地共享这些功能｡

44
00:03:23,340 --> 00:03:30,780
‫让我们来举个例子, 这里有一个移动器, 我们有一个东西要移动.

45
00:03:30,790 --> 00:03:35,970
‫我们可能已经开始设置它作为一个继承和是一个关系｡

46
00:03:35,970 --> 00:03:42,210
‫我们有一个从这个静态网格执行元继承的移动器, 有点像我们在前面的部分中所做的, 然后从移动器,

47
00:03:42,210 --> 00:03:47,760
‫我们可能会继承一个移动的门或移动的墙｡

48
00:03:47,850 --> 00:03:52,200
‫但是如果我们想做一个移动的光会发生什么呢？

49
00:03:52,350 --> 00:03:54,330
‫这怎么可能呢？

50
00:03:54,330 --> 00:03:59,400
‫我们不能从mover继承, 因为这会使它成为静态网格演员,

51
00:03:59,400 --> 00:04:01,980
‫我们希望使用灯光演员作为移动灯光的父级｡

52
00:04:02,100 --> 00:04:04,560
‫我们如何解决这个问题？

53
00:04:04,560 --> 00:04:10,710
‫使用有一个关系, 而不是暂停一个视频, 有一个思考它, 拿出一张纸,

54
00:04:10,710 --> 00:04:12,600
‫并记下一些你的想法｡

55
00:04:16,250 --> 00:04:16,700
‫好吧, 我会的

56
00:04:16,700 --> 00:04:17,680
‫欢迎回来｡

57
00:04:17,690 --> 00:04:23,390
‫所以这就是我解决问题的方法, 这样我们就可以有我们的移动门, 移动得很好｡

58
00:04:23,390 --> 00:04:24,530
‫两者都继承自static｡

59
00:04:24,770 --> 00:04:26,060
‫演员没关系｡

60
00:04:26,150 --> 00:04:28,640
‫而移动的光可以从光中继承｡

61
00:04:28,640 --> 00:04:33,620
‫演员, 但现在不同的是, 我们把这个也包括在这里, 也有关系｡

62
00:04:33,620 --> 00:04:42,020
‫所以移动的门, 移动的墙和移动的光都可以在演员身上有一个移动器组件｡

63
00:04:42,020 --> 00:04:45,470
‫这就是演员组件真正派上用场的地方｡

64
00:04:45,470 --> 00:04:49,730
‫我们会在下一节课把它付诸实践, 到时见｡

