⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 《设计模式》DELPHI版
💻
📖 第 1 页 / 共 5 页
字号:
man"'>兩個主要的實作變&#212=
70;&#65306;</span><span
lang=3DEN-US><o:p></o:p></span></b></p>

<p class=3DMsoNormal style=3D'margin-left:48.0pt;text-indent:-48.0pt;mso-te=
xt-indent-alt:
-24.0pt;mso-list:l6 level2 lfo7;tab-stops:list 48.0pt'><![if !supportLists]=
><span
lang=3DEN-US style=3D'mso-fareast-font-family:"Times New Roman"'><span
style=3D'mso-list:Ignore'><span style=3D'font:7.0pt "Times New Roman"'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>i.<span style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3DEN-US>Creator</span><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#39006;&#21029;&#26159;&#19968;&#20491;&#25277;&#35937;=
&#39006;&#21029;&#20006;&#26410;&#23565;&#20854;&#23459;&#21578;&#30340;&#2=
4037;&#24288;&#26041;&#27861;&#23526;&#20316;&#65292;&#20854;&#23376;&#3900=
6;&#21029;&#22240;&#28858;&#27794;&#26377;&#38928;&#35373;&#30340;&#23526;&=
#20316;&#22240;&#27492;&#24517;&#38920;&#21435;&#23526;&#20316;&#36889;&#36=
889;&#20491;&#24037;&#24288;&#26041;&#27861;&#12290;&#36889;&#31278;&#26041=
;&#24335;&#26377;&#20491;&#22256;&#38627;&#23601;&#26159;&#21435;&#23526;&#=
20316;&#28961;&#27861;&#38928;&#30693;&#30340;&#39006;&#21029;&#12290;</spa=
n></p>

<p class=3DMsoNormal style=3D'margin-left:48.0pt;text-indent:-48.0pt;mso-te=
xt-indent-alt:
-24.0pt;mso-list:l6 level2 lfo7;tab-stops:list 48.0pt'><![if !supportLists]=
><span
lang=3DEN-US style=3D'mso-fareast-font-family:"Times New Roman"'><span
style=3D'mso-list:Ignore'><span style=3D'font:7.0pt "Times New Roman"'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>ii.<span style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3DEN-US>Creator</span><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#39006;&#21029;&#26159;&#19968;&#20491;&#20855;&#39636;=
&#39006;&#21029;&#20006;&#25552;&#20379;&#19968;&#20491;&#38928;&#35373;&#2=
4037;&#24288;&#26041;&#27861;&#23526;&#20316;&#65292;&#36889;&#31278;&#2604=
1;&#24335;&#20351;&#29992;&#24037;&#24288;&#26041;&#27861;&#20027;&#35201;&=
#26159;&#28858;&#20102;&#24392;&#24615;&#12290;&#36889;&#31278;&#26041;&#24=
335;&#26159;&#20381;&#25818;&#19979;&#21015;&#36889;&#20491;&#35215;&#21063=
;&#12302;&#20197;&#19968;&#20491;&#21312;&#38548;&#38283;&#20358;&#30340;&#=
30340;&#25805;&#20316;&#27083;&#24314;&#29289;&#20214;&#65307;&#20197;&#357=
31;&#23376;&#39006;&#21029;&#21487;&#20197;&#25913;&#23531;&#20182;&#20497;=
&#27083;&#24314;&#30340;&#26041;&#24335;&#12303;&#12290;&#36889;&#20491;&#3=
5215;&#21063;&#22914;&#26524;&#38656;&#35201;&#21487;&#20197;&#35731;&#2337=
6;&#39006;&#21029;&#30340;&#35373;&#35336;&#32773;&#25913;&#35722;&#29238;&=
#39006;&#21029;&#30340;&#29289;&#20214;&#30340;&#39006;&#21029;</span><span
lang=3DEN-US>(The rule ensure that designers of subclass can change the cla=
ss of
objects their parent class instantiates if necessary)</span><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:24.0pt'><span style=3D'font-famil=
y:PMingLiU;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Ro=
man"'>&#20063;&#21487;&#33021;&#26159;&#19968;&#20491;&#25277;&#35937;&#390=
06;&#21029;&#20294;&#26159;&#23450;&#32681;&#19968;&#20491;&#38928;&#35373;=
&#30340;&#23526;&#20316;&#65307;&#20294;&#36889;&#27604;&#36611;&#19981;&#2=
6222;&#36941;&#12290;</span></p>

<p class=3DMsoNormal style=3D'margin-left:24.0pt;text-indent:-24.0pt;mso-li=
st:l3 level1 lfo8;
tab-stops:list 24.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"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-family:PMingLiU;mso-a=
scii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#21443;&#25976;=
&#21270;&#24037;&#24288;&#26041;&#27861;&#65306;</span></b><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#21478;&#19968;&#31278;&#29256;&#26412;&#30340;&#27171;=
&#24335;&#26159;&#35731;&#24037;&#24288;&#26041;&#27861;&#27083;&#24314;&#2=
2810;&#31278;</span><span
lang=3DEN-US>(multiple kinds)</span><span style=3D'font-family:PMingLiU;mso=
-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#30340;&#29986;=
&#21697;&#65292;&#36889;&#20491;&#24037;&#24288;&#26041;&#27861;&#24118;&#2=
6377;&#19968;&#21443;&#25976;&#20197;&#21312;&#20998;&#35201;&#27083;&#2431=
4;&#20043;&#29289;&#20214;&#30340;&#31278;&#39006;&#12290;&#25152;&#26377;&=
#36889;&#20491;&#24037;&#24288;&#26041;&#27861;&#27083;&#24314;&#30340;&#29=
289;&#20214;&#20849;&#29992;&#30456;&#21516;&#30340;</span><span
lang=3DEN-US>Product</span><span style=3D'font-family:PMingLiU;mso-ascii-fo=
nt-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#20171;&#38754;=
&#12290;&#22312;&#21069;&#36848;</span><span
lang=3DEN-US>Document</span><span style=3D'font-family:PMingLiU;mso-ascii-f=
ont-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>&#30340;&#20363;=
&#23376;&#20013;&#65307;&#20320;&#20659;&#36958;&#19968;&#20491;&#21443;&#2=
5976;&#32102;</span><span
class=3DSpellE><span lang=3DEN-US>CreateDocument</span></span><span
style=3D'font-family:PMingLiU;mso-ascii-font-family:"Times New Roman";mso-h=
ansi-font-family:
"Times New Roman"'>&#27770;&#23450;&#35201;&#27083;&#24314;&#30340;&#25991;=
&#20214;&#31278;&#39006;&#12290;</span><span
class=3DSpellE><span lang=3DEN-US>Unidraw</span></span><span style=3D'font-=
family:
PMingLiU;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Tim=
es New Roman"'>&#22294;&#24418;&#32232;&#36655;&#26694;&#26550;&#23601;&#26=
159;&#20351;&#29992;&#36889;&#31278;&#26041;&#24335;&#12290;&#21443;&#25976=
;&#21270;&#24037;&#24288;&#26041;&#27861;&#26377;&#20491;&#19968;&#33324;&#=
21270;&#30340;&#26684;&#24335;&#22914;&#19979;&#31684;&#20363;&#65306;</spa=
n></p>

<div align=3Dcenter>

<table class=3DMsoNormalTable border=3D1 cellspacing=3D0 cellpadding=3D0
 style=3D'background:#F3F3F3;border-collapse:collapse;border:none;mso-borde=
r-alt:
 solid windowtext .5pt;mso-padding-alt:0cm 1.4pt 0cm 1.4pt;mso-border-insid=
eh:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-lastrow:yes'>
  <td width=3D697 valign=3Dtop style=3D'width:418.1pt;border:solid windowte=
xt 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0cm 1.4pt 0cm 1.4pt'>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>interface<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>type<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>TProductID</span> =3D (MINE, YOURS, theirs);<=
o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>TProduct</span> =3D class<o:p></o:p></span></=
p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>public<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>constructor Create;
  virtual;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>destructor Destroy; =
override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>end;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>TMyProduct</span> =3D class(<span class=3DSpe=
llE>TProduct</span>)<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>constructor Create;
  override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>destructor Destroy;
  override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>end;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>TYourProduct</span> =3D class(<span class=3DS=
pellE>TProduct</span>)<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>constructor Create;
  override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>destructor Destroy;
  override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>end;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>TCreator</span> =3D class<o:p></o:p></span></=
p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>public<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>constructor Create;
  virtual;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>destructor Destroy;
  override;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>//</span><span style=3D'font-size:10.0p=
t;
  mso-bidi-font-size:12.0pt;font-family:PMingLiU;mso-ascii-font-family:"Cou=
rier New";
  mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Courier New"'>&=
#21407;&#25991;&#20013;&#20043;</span><span
  lang=3DEN-US style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;font-fam=
ily:
  "Courier New"'>Create<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span
  style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>function <span
  class=3DSpellE>CreateProduct</span>(<span class=3DSpellE>ProductID</span>=
: <span
  class=3DSpellE>TProductID</span>): <span class=3DSpellE>TProduct</span>; =
virtual;
  <o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span>end;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>implementation<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>function <span class=3DSpellE>TCreator.=
CreateProduct</span>(<span
  class=3DSpellE>ProductID</span>: <span class=3DSpellE>TProductID</span>):=
 <span
  class=3DSpellE>TProduct</span>;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span class=3DSpellE><span lang=3DEN-US style=3D'fon=
t-size:10.0pt;
  mso-bidi-font-size:12.0pt;font-family:"Courier New"'>var</span></span><sp=
an
  lang=3DEN-US style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;font-fam=
ily:
  "Courier New"'><o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>aProduct</span>: <span class=3DSpellE>TProduc=
t</span>;<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'>begin<o:p></o:p></span></p>
  <p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size:10.0pt;mso-bid=
i-font-size:
  12.0pt;font-family:"Courier New"'><span style=3D'mso-spacerun:yes'>&nbsp;
  </span><span class=3DSpellE>aProduct</span>:=3Dnil;<o:p></o:p></span></p>
  <p class=

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -