📄 合成样式.mht
字号:
ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:66.0pt;text-indent:-24.0pt;mso-li=
st:l0 level2 lfo6;
tab-stops:list 66.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'fon=
t-family:
PMingLiU;mso-hansi-font-family:Wingdings;mso-bidi-font-family:PMingLiU'><sp=
an
style=3D'mso-list:Ignore'>―<span style=3D'font:7.0pt "Times New Roman=
"'>
</span></span></span><![endif]><span style=3D'font-family:SimSun;mso-ascii-=
font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>定义=
有子类别组件的行为=
2290;</span></p>
<p class=3DMsoNormal style=3D'margin-left:66.0pt;text-indent:-24.0pt;mso-li=
st:l0 level2 lfo6;
tab-stops:list 66.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'fon=
t-family:
PMingLiU;mso-hansi-font-family:Wingdings;mso-bidi-font-family:PMingLiU;
mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignore'>―<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><span style=3D'font-family:SimSun;mso-ascii-=
font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>储存=
子对象。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:66.0pt;text-indent:-24.0pt;mso-li=
st:l0 level2 lfo6;
tab-stops:list 66.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'fon=
t-family:
PMingLiU;mso-hansi-font-family:Wingdings;mso-bidi-font-family:PMingLiU;
mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignore'>―<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><span style=3D'font-family:SimSun;mso-ascii-=
font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>实作=
在</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComponent</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>接口与子类别相=
关的操作。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:42.0pt;text-indent:-24.0pt;mso-li=
st:l0 level1 lfo6;
tab-stops:list 42.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'fon=
t-family:
PMingLiU;mso-hansi-font-family:Wingdings;mso-bidi-font-family:PMingLiU;
mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignore'>●<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><span lang=3DEN-US style=3D'mso-fareast-font=
-family:
SimSun'>Client</span><span lang=3DEN-US style=3D'mso-fareast-language:ZH-TW=
'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:66.0pt;text-indent:-24.0pt;mso-li=
st:l0 level2 lfo6;
tab-stops:list 66.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'fon=
t-family:
PMingLiU;mso-hansi-font-family:Wingdings;mso-bidi-font-family:PMingLiU;
mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignore'>―<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><span style=3D'font-family:SimSun;mso-ascii-=
font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>经由=
</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComponent</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>接口操作合成的=
对象。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>合作</span><span lang=3DEN-US>(Collaborations)</span><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'text-indent:27.0pt;mso-char-indent-count:2.25=
'><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>使用端经由</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComponent</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别的接口与合=
成结构中的对象互动=
2290;如果是</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TLeaf</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>对象则其请求会=
被直接处理,如果是</s=
pan><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComposite</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>对象其请求则传=
递到其子组件;可能=
0340;话只是在传递前或ߩ=
6;递后追加一些操作。<=
/span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>结论</span><span lang=3DEN-US>(consequences)</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'margin-left:27.0pt'><span style=3D'font-famil=
y:SimSun;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>合成样式是:</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l2 level1 lfo8;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>1.<span style=3D'font:7.=
0pt "Times New Roman"'> &nbs=
p;
</span></span></span><![endif]><b><span style=3D'font-family:SimSun;mso-asc=
ii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>定义=
包含原始对象及合成=
3545;象的类别层级架构ᦂ=
6;</span></b><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>原始对象可以组=
合成复杂对象意味着=
0063;可以再递归组合更ࣧ=
7;杂的对象。而使用端&=
#30340;程序代码需求的是=
968;个原始对象也可以是=
;一个合成对象。</span></p>
<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l2 level1 lfo8;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>2.<span style=3D'font:7.=
0pt "Times New Roman"'> &nbs=
p;
</span></span></span><![endif]><b><span style=3D'font-family:SimSun;mso-asc=
ii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>让使=
用端简易使用:</span></b><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>使用端可以以一=
致的方式处理单一对=
5937;及合成对象,使用ో=
1;一般无须知道也无须&=
#20851;心他们处理的是单=
968;对象或者是合成对象=
;。如此可以简化使用&#=
31471;的程序代码;因为ű=
91;免在定义合成的类别=
中撰写</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>tag-and-case-statemen=
t-style</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>功能。</span></p>
<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l2 level1 lfo8;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman"'><span style=3D'mso-list:Ignore'>3.<span style=3D'font:7.=
0pt "Times New Roman"'> &nbs=
p;
</span></span></span><![endif]><b><span style=3D'font-family:SimSun;mso-asc=
ii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>容易=
增加一个新的组件:</s=
pan></b><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>新定义的</span><span lang=3DEN-US
style=3D'mso-fareast-font-family:SimSun'>TComposite</span><span style=3D'fo=
nt-family:
SimSun;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times=
New Roman"'>或</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TLeaf</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>次类别可以自动=
的与现有的结构及使=
9992;端程序代码工作,߳=
1;用端无须因新的合成&=
#31867;别而改变程序。</span></p>
<p class=3DMsoNormal style=3D'margin-left:51.0pt;text-indent:-24.0pt;mso-li=
st:l2 level1 lfo8;
tab-stops:list 51.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman";mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignor=
e'>4.<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><b><span style=3D'font-family:SimSun;mso-asc=
ii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>让你=
的设计更加一般化:</s=
pan></b><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>让其方便增加新=
组件的缺点是难以重=
5972;</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(restrict)</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>合成中的组件。=
有时你想让合成中只=
6377;特定的组件,在合ৎ=
4;样式中你无法依赖型&=
#21035;系统</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(type system)</span><=
span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>确保这个限制,=
你必须使用在执行期=
6816;测。</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>2001/1/8</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<h3><span style=3D'font-family:SimSun;mso-ascii-font-family:Arial;mso-hansi=
-font-family:
Arial'>实作</span><span lang=3DEN-US>(Implementation)</span><sp=
an
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></h3>
<p class=3DMsoNormal style=3D'margin-left:24.0pt;text-indent:-24.0pt;mso-li=
st:l5 level1 lfo10;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=3DEN-US style=3D'mso=
-fareast-font-family:
"Times New Roman";mso-fareast-language:ZH-TW'><span style=3D'mso-list:Ignor=
e'>1.<span
style=3D'font:7.0pt "Times New Roman"'> =
</span></span></span><![endif]><b><span style=3D'font-family:SimSun;mso-asc=
ii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>明确=
的亲属参考</span></b><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>:维护子代到其=
祖代的参考可以简化=
6861;溯</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(traversal)</span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>及维护组件结构=
,对于祖类别的参考=
5110;者删除一个组件只ව=
1;溯结构上移即可祖类&=
#21035;参考也支持责任链</sp=
an><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(Chain of Responsibil=
ity)</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>样式。</span><span lang=3DEN-US
style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:27.0pt;mso-para-margin-left:2.25g=
d;
text-indent:27.0pt;mso-char-indent-count:2.25'><span style=3D'font-family:S=
imSun;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>而定义祖类别参考į=
40;地方是</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComponent</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别,而</span><span lang=3DEN-US
style=3D'mso-fareast-font-family:SimSun'>TLeaf</span><span style=3D'font-fa=
mily:
SimSun;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times=
New Roman"'>及</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComposite</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别可以继承这=
个参考及管理参考的=
5805;作。</span><span
lang=3DEN-US style=3D'mso-fareast-language:ZH-TW'><o:p></o:p></span></p>
<p class=3DMsoNormal style=3D'margin-left:27.0pt;mso-para-margin-left:2.25g=
d;
text-indent:27.0pt;mso-char-indent-count:2.25'><span style=3D'font-family:S=
imSun;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>对于祖类别的参考á=
22;本上需维护一个不变=
</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>(invariant)</span><sp=
an
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>的关系:所有</span><=
span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComposite</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>类别的子类别都=
有一个</span><span
lang=3DEN-US style=3D'mso-fareast-font-family:SimSun'>TComposite</span><span
style=3D'font-family:SimSun;mso-ascii-font-family:"Times New Roman";mso-han=
si-font-family:
"Times New Roman"'>的祖类别</span><span
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -