2792
01:54:59,000 --> 01:54:59,740
确定
2793
01:55:00,920 --> 01:55:03,680
那就得到了这样一个状态机了
2794
01:55:03,680 --> 01:55:05,060
它是根据这个
2795
01:55:05,350 --> 01:55:07,760
属性的值
2796
01:55:08,040 --> 01:55:08,731
然后呢
2797
01:55:08,731 --> 01:55:11,037
当然,这里就一个状态
2798
01:55:11,037 --> 01:55:12,651
这个很简单
2799
01:55:12,651 --> 01:55:16,110
就演示一个这个,到这个条件
2800
01:55:16,390 --> 01:55:17,564
实际上就一个状态
2801
01:55:17,564 --> 01:55:20,500
自己到自己的转换
2802
01:55:21,910 --> 01:55:23,260
到这里以后呢
2803
01:55:23,260 --> 01:55:24,386
要么自转换
2804
01:55:24,386 --> 01:55:26,413
要么是回到自己这里
2805
01:55:26,413 --> 01:55:28,214
要么就是到终态
2806
01:55:28,214 --> 01:55:28,664
对吧
2807
01:55:28,664 --> 01:55:28,890
2808
01:55:29,540 --> 01:55:30,390
这样来
2809
01:55:31,850 --> 01:55:33,320
那下面我们就来
2810
01:55:37,040 --> 01:55:40,657
重新来编译和运行一下
2811
01:55:40,657 --> 01:55:41,260
你看
2812
01:55:42,160 --> 01:55:43,710
代码这里
2813
01:55:44,000 --> 01:55:45,070
生成
2814
01:55:50,940 --> 01:55:51,170
2815
01:55:51,170 --> 01:55:52,780
往上拖一点
2816
01:55:53,940 --> 01:55:54,190
2817
01:55:54,190 --> 01:55:55,194
构建完成
2818
01:55:55,194 --> 01:55:56,700
你看,倒数
2819
01:55:56,700 --> 01:55:58,456
已搞定,已开始
2820
01:55:58,456 --> 01:55:59,460
然后那个
2821
01:55:59,750 --> 01:56:02,662
10,9,8,7这样对吧
2822
01:56:02,662 --> 01:56:03,110
做完
2823
01:56:03,630 --> 01:56:04,720
这样来
2824
01:56:07,820 --> 01:56:10,511
那么我们回到这个类图
2825
01:56:10,511 --> 01:56:11,050
你看
2826
01:56:11,650 --> 01:56:11,863
2827
01:56:11,863 --> 01:56:13,996
它这里叫对象模型图
2828
01:56:13,996 --> 01:56:15,490
实际上就是类图了
2829
01:56:15,900 --> 01:56:17,623
那为什么叫对象模型图
2830
01:56:17,623 --> 01:56:22,580
因为它把那个类和对象可以放在同一个图上
2831
01:56:22,860 --> 01:56:26,930
所以呢,这里面你看这里有对象可以放进来
2832
01:56:27,620 --> 01:56:30,620
这时候我们可以来看一下
2833
01:56:31,090 --> 01:56:32,497
这个类的代码
2834
01:56:32,497 --> 01:56:34,842
你看,还是右键点那个
2835
01:56:34,842 --> 01:56:36,250
然后,编辑代码
2836
01:56:36,530 --> 01:56:38,790
是可以看到那个
2837
01:56:39,070 --> 01:56:40,580
生成的代码
2838
01:56:40,870 --> 01:56:41,093
2839
01:56:41,093 --> 01:56:42,210
在这里,对吧
2840
01:56:43,300 --> 01:56:45,035
包括已搞定,做完
2841
01:56:45,035 --> 01:56:46,120
2842
01:56:46,500 --> 01:56:48,270
已开始,都在这里
2843
01:56:50,040 --> 01:56:54,150
而且这个代码是可以直接运行的,刚才我们运行了
2844
01:56:54,430 --> 01:56:55,968
出现运行结果了嘛
2845
01:56:55,968 --> 01:56:56,310
对吧
2846
01:56:59,390 --> 01:57:02,650
你看,这里的代码是什么风格
2847
01:57:04,680 --> 01:57:04,870
2848
01:57:04,870 --> 01:57:06,010
这里你看
2849
01:57:06,290 --> 01:57:13,200
if if if if if多少层,一二三四
2850
01:57:13,830 --> 01:57:15,390
四层,对吧
2851
01:57:15,750 --> 01:57:16,580
2852
01:57:17,000 --> 01:57:18,660
四个嵌套的
2853
01:57:19,020 --> 01:57:19,810
if
2854
01:57:21,230 --> 01:57:23,846
这个是嵌套条件的风格
2855
01:57:23,846 --> 01:57:24,718
但无所谓
2856
01:57:24,718 --> 01:57:26,898
因为我们根本就不用写
2857
01:57:26,898 --> 01:57:28,424
不是人写的对吧
2858
01:57:28,424 --> 01:57:30,604
这是生成的,对不对
2859
01:57:30,604 --> 01:57:33,220
那如果说我不想用if这个风格
2860
01:57:34,140 --> 01:57:36,714
我想生成另外一种风格
2861
01:57:36,714 --> 01:57:37,705
可不可以
2862
01:57:37,705 --> 01:57:38,695
可以的
2863
01:57:38,695 --> 01:57:40,675
那怎么调整
2864
01:57:40,675 --> 01:57:41,270
一样的
2865
01:57:41,550 --> 01:57:43,320
就在这个Component这里
2866
01:57:43,320 --> 01:57:44,560
组件这个地方
2867
01:57:44,880 --> 01:57:45,630
2868
01:57:46,490 --> 01:57:47,880
这个配置这里
2869
01:57:48,300 --> 01:57:51,652
Release这个地方
2870
01:57:51,652 --> 01:57:52,993
Release这个配置
2871
01:57:52,993 --> 01:57:53,160
2872
01:57:53,160 --> 01:57:54,669
我们重新在这里调整
2873
01:57:54,669 --> 01:57:56,010
我们先把这个关掉
2874
01:57:59,030 --> 01:57:59,227
2875
01:57:59,227 --> 01:58:01,600
我们双击Release这个
2876
01:58:03,580 --> 01:58:04,450
对吧
2877
01:58:06,030 --> 01:58:08,280
然后在这个设置这里
2878
01:58:09,420 --> 01:58:11,136
设置这个地方
2879
01:58:11,136 --> 01:58:13,343
你看这里写平铺的
2880
01:58:13,343 --> 01:58:15,796
实际上就是switch case
2881
01:58:15,796 --> 01:58:17,758
或者if else,平铺的
2882
01:58:17,758 --> 01:58:19,720
如果你变成可重用这个
2883
01:58:20,000 --> 01:58:20,413
实际上就是
2884
01:58:20,413 --> 01:58:21,860
面向对象这个
2885
01:58:22,260 --> 01:58:22,870
2886
01:58:24,700 --> 01:58:27,130
然后我们再点确定
2887
01:58:28,090 --> 01:58:28,292
好
2888
01:58:28,292 --> 01:58:30,930
这时候我们重新来看它的代码
2889
01:58:40,520 --> 01:58:40,758
2890
01:58:40,758 --> 01:58:44,102
你看,if else就消失了
2891
01:58:44,102 --> 01:58:45,296
只剩下什么
2892
01:58:45,296 --> 01:58:46,730
剩下就一层了,对不对
2893
01:58:47,010 --> 01:58:49,430
那剩下的其他在哪里
2894
01:58:49,940 --> 01:58:50,180
2895
01:58:50,180 --> 01:58:54,276
其他就变成子类的代码了
2896
01:58:54,276 --> 01:58:54,517
2897
01:58:54,517 --> 01:58:55,480
你看
2898
01:58:55,480 --> 01:58:57,167
if else就只剩一层了
2899
01:58:57,167 --> 01:58:57,890
对不对
2900
01:58:59,010 --> 01:58:59,295
2901
01:58:59,295 --> 01:59:01,290
但是呢,它的方法
2902
01:59:01,290 --> 01:59:03,570
它这些,你看
2903
01:59:04,330 --> 01:59:07,150
就多了很多小个的那个
2904
01:59:07,830 --> 01:59:09,930
这些
2905
01:59:10,510 --> 01:59:11,990
操作
2906
01:59:11,990 --> 01:59:12,286
2907
01:59:12,286 --> 01:59:13,470
你看这里
2908
01:59:15,560 --> 01:59:18,191
刚才那个大的层就没有了
2909
01:59:18,191 --> 01:59:20,620
但多了很多小小小小的片段
2910
01:59:24,390 --> 01:59:27,522
变成了面向对象的风格
2911
01:59:27,522 --> 01:59:28,110
这地方
2912
01:59:29,330 --> 01:59:32,012
刚才这里嘛,很多层就没有了
2913
01:59:32,012 --> 01:59:32,460
对吧
2914
01:59:35,370 --> 01:59:35,883
好
2915
01:59:35,883 --> 01:59:36,910
这是
2916
01:59:37,550 --> 01:59:38,770
生成代码
2917
01:59:39,050 --> 01:59:44,780
那Rhapsody的另外一个很强的地方就是调试
2918
01:59:45,290 --> 01:59:47,220
状态机的
2919
01:59:48,370 --> 01:59:50,210
这样的一个
2920
01:59:51,060 --> 01:59:51,817
功能
2921
01:59:51,817 --> 01:59:55,100
那这个是非常强的,那我们可以
2922
01:59:55,380 --> 01:59:56,365
看一下
2923
01:59:56,365 --> 01:59:57,350
怎么调试
2924
02:00:01,600 --> 02:00:03,300
那首先我们来看
2925
02:00:03,610 --> 02:00:05,090
对这个组件
2926
02:00:06,630 --> 02:00:07,518
的配置
2927
02:00:07,518 --> 02:00:11,665
这里,我们再重新做一个配置
2928
02:00:11,665 --> 02:00:12,850
那怎么做
2929
02:00:15,990 --> 02:00:16,890
这个
2930
02:00:17,440 --> 02:00:18,130
Component
2931
02:00:18,130 --> 02:00:19,280
这里
2932
02:00:19,280 --> 02:00:22,040
然后呢,这个配置这个地方
2933
02:00:22,800 --> 02:00:25,010
然后按住
2934
02:00:26,970 --> 02:00:29,610
Release这个配置
2935
02:00:29,610 --> 02:00:30,930
然后按住Ctrl
2936
02:00:32,010 --> 02:00:32,182
2937
02:00:32,182 --> 02:00:33,386
按住Release这个
2938
02:00:33,386 --> 02:00:34,418
然后按住Ctrl
2939
02:00:34,418 --> 02:00:35,450
把它拖到这里
2940
02:00:36,030 --> 02:00:38,370
拖到配置这里,就复制一个的意思
2941
02:00:38,710 --> 02:00:41,815
你看,多了一个release copy的副本
2942
02:00:41,815 --> 02:00:42,259
对吧
2943
02:00:42,259 --> 02:00:43,590
Release副本
2944
02:00:45,850 --> 02:00:47,460
相当于复制一个
2945
02:00:47,740 --> 02:00:47,949
2946
02:00:47,949 --> 02:00:50,880
那我们双击这个,在这里来对它做
2947
02:00:51,480 --> 02:00:52,724
调节
2948
02:00:52,724 --> 02:00:54,590
调节它的属性
2949
02:00:54,590 --> 02:00:55,834
2950
02:00:55,834 --> 02:00:58,529
我们这个可以叫
2951
02:00:58,529 --> 02:00:59,773
名字可以叫Debug
2952
02:00:59,773 --> 02:01:00,810
跟我们那个
2953
02:01:01,090 --> 02:01:01,990
Debug
2954
02:01:03,120 --> 02:01:06,270
跟我们那个编码环境里面那个一样的
2955
02:01:06,270 --> 02:01:06,620
对吧
2956
02:01:07,460 --> 02:01:08,510
然后呢
2957
02:01:08,510 --> 02:01:08,860
在
2958
02:01:09,170 --> 02:01:10,420
设置这里
2959
02:01:12,960 --> 02:01:14,310
我们把
2960
02:01:18,510 --> 02:01:19,510
这个
2961
02:01:20,580 --> 02:01:22,490
检测模式这个
2962
02:01:22,840 --> 02:01:24,330
2963
02:01:24,950 --> 02:01:25,163
2964
02:01:25,163 --> 02:01:27,940
检测这个翻译
2965
02:01:27,940 --> 02:01:29,435
%……&&
2966
02:01:29,435 --> 02:01:30,930
2967
02:01:31,740 --> 02:01:31,981
2968
02:01:31,981 --> 02:01:36,820
它是本来无,可以改成动画
2969
02:01:38,300 --> 02:01:39,340
动画
2970
02:01:41,880 --> 02:01:43,160
这个地方
2971
02:01:45,300 --> 02:01:46,150
好
2972
02:01:46,670 --> 02:01:48,760
然后我们就确定
2973
02:01:49,070 --> 02:01:51,030
那现在有两个配置
2974
02:01:51,030 --> 02:01:51,684
一个Debug
2975
02:01:51,684 --> 02:01:52,991
一个是Release
2976
02:01:52,991 --> 02:01:53,426
对吧
2977
02:01:53,426 --> 02:01:57,130
那我们就要把这个debug设成活动的
2978
02:01:57,410 --> 02:02:00,025
右键点这个,设置为活动配置
2979
02:02:00,025 --> 02:02:03,647
我们用这个,不用Release,用Release的话
2980
02:02:03,647 --> 02:02:06,465
它是直接运行的
2981
02:02:06,465 --> 02:02:07,270
你用这个
2982
02:02:07,810 --> 02:02:10,310
那进入了调试的模式
2983
02:02:11,200 --> 02:02:13,125
那我们再来看,怎么调试
2984
02:02:13,125 --> 02:02:13,510
你看
2985
02:02:14,870 --> 02:02:15,564
代码
2986
02:02:15,564 --> 02:02:18,110
像前面运行的一样的
2987
02:02:18,840 --> 02:02:19,732
工具栏
2988
02:02:19,732 --> 02:02:21,160
在这里,这个地方
2989
02:02:21,620 --> 02:02:21,836
2990
02:02:21,836 --> 02:02:23,564
你要是不想用这个
2991
02:02:23,564 --> 02:02:25,509
为什么要选这个
2992
02:02:25,509 --> 02:02:27,886
因为这样大家看得清楚
2993
02:02:27,886 --> 02:02:29,399
如果是习惯了
2994
02:02:29,399 --> 02:02:30,264
你用熟了
2995
02:02:30,264 --> 02:02:32,641
你就直接点这个地方了
2996
02:02:32,641 --> 02:02:34,370
这地方,我们
2997
02:02:34,680 --> 02:02:36,300
既然是刚开始学嘛
2998
02:02:36,300 --> 02:02:37,515
我们正规一点
2999
02:02:37,515 --> 02:02:39,540
就这样,点这里,这里
3000
02:02:44,020 --> 02:02:44,248
3001
02:02:44,248 --> 02:02:46,300
问要不要创建
3002
02:02:46,300 --> 02:02:47,440
创建
3003
02:02:53,260 --> 02:02:53,528
好
3004
02:02:53,528 --> 02:02:55,140
就开始创建了