<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_大道至简</title><subtitle type="text">无尽XP agile SEUT Mock T</subtitle><id>http://feed.cnblogs.com/blog/u/37217/rss</id><updated>2012-01-09T01:26:16Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/37217/rss"/><entry><id>http://www.cnblogs.com/jams742003/archive/2011/12/16/2289897.html</id><title type="text">ms sql 索引（一）</title><summary type="text">索引的用途索引的主要作用就是为加快检索的速度（效率）。主要是为查询。这里的查询包括表自身的查询，还包括连接查询。此外，sql的查询优化器（隐式的）也依赖索引，如果使用索引比不使用索引时效率高，那优化器就会选择使用索引。索引可能极大提高检索的速度。例如：图书馆的图书如果无序排放，则要找《水浒传》这一本书，极有可能会把所有书都翻一遍，当然也有可能会第一本书就是它。如果给图书馆的图书按书名分列于不同书架，以字母排序，那找到S列书架，然后找Sh，shu，shui，然后找在shui书架中再找hu，然后找zhuan，那么就会找到这本书。索引的分类索引分聚集（聚簇）索引和非聚集（聚簇）索引。聚集索引：表中的</summary><published>2011-12-16T03:07:00Z</published><updated>2011-12-16T03:07:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/12/16/2289897.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/12/16/2289897.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引的用途&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引的主要作用就是为加快检索的速度（效率）。主要是为查询。这里的查询包括表自身的查询，还包括连接查询。此外，&lt;span lang="EN-US"&gt;sql&lt;/span&gt;的查询优化器（隐式的）也依赖索引，如果使用索引比不使用索引时效率高，那优化器就会选择使用索引。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引可能极大提高检索的速度。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;例如：图书馆的图书如果无序排放，则要找《水浒传》这一本书，极有可能会把所有书都翻一遍，当然也有可能会第一本书就是它。如果给图书馆的图书按书名分列于不同书架，以字母排序，那找到&lt;span lang="EN-US"&gt;S&lt;/span&gt;列书架，然后找&lt;span lang="EN-US"&gt;Sh&lt;/span&gt;，&lt;span lang="EN-US"&gt;shu&lt;/span&gt;，&lt;span lang="EN-US"&gt;shui&lt;/span&gt;，然后找在&lt;span lang="EN-US"&gt;shui&lt;/span&gt;书架中再找&lt;span lang="EN-US"&gt;hu&lt;/span&gt;，然后找&lt;span lang="EN-US"&gt;zhuan&lt;/span&gt;，那么就会找到这本书。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引的分类&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引分聚集（聚簇）索引和非聚集（聚簇）索引。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;聚集索引：表中的数据的物理顺序与排序顺序相同，表中可建立且只可建立一个聚集索引（物理顺序）。聚集索引由索引页构成，索引页底层称为叶级，上层称为非叶级。叶级存放着实际的排序的数据，非叶级存放着排序的索引。以图书馆查找《水浒传》为例的示意图：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height="512" alt="" src="http://images.cnblogs.com/cnblogs_com/jams742003/sqlindex_1.png" width="514" border="0" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;上图是个示意图，但不表示聚集索引的正确图。索引通过&lt;span lang="EN-US"&gt;B-tree&lt;/span&gt;算法来实现，中文的意思是平衡树，不是二叉树。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;非聚集索引：不在物理顺序上排列数据，而是通过排序指针，指针指向数据。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;非聚集索引也由索引页构成，索引页底层称为叶级，上层称为非叶级。叶级存放着的排序的指向实际数据的指针，非叶级存放着排序的索引。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;Ms sql&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;存储结构&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;Sql server&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;在存储时，为提高数据库性能，以盘区为单位向数据库分配空间。一个盘区为&lt;span lang="EN-US"&gt;8&lt;/span&gt;个连续的页（&lt;span lang="EN-US"&gt;Page&lt;/span&gt;）。页是数据库存储的基本单位。页大小为&lt;span lang="EN-US"&gt;8K&lt;/span&gt;。一个盘区为&lt;span lang="EN-US"&gt;8*8&lt;/span&gt;＝&lt;span lang="EN-US"&gt;64K&lt;/span&gt;。页分为好几种页类型，例如：数据页，索引页，映射表页等。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;例如：图书馆的图书以书架（页）为单位，每&lt;span lang="EN-US"&gt;8&lt;/span&gt;个书架在一个小隔间（区）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;索引的参数&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;span lang="EN-US"&gt;FillFactor&lt;/span&gt;：设置创建索引时每个索引页的页级别中可用空间的比。用来设置索引页中预留的空间。它是填充因子，设置为&lt;span lang="EN-US"&gt;100%&lt;/span&gt;，表示不留预留空间。对于只读表来说，可以设置为&lt;span lang="EN-US"&gt;100%&lt;/span&gt;。设置填充因子的原因就是防止页分裂。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;例如：假设图书馆的&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架为&lt;span lang="EN-US"&gt;S&lt;/span&gt;系统的书籍，现在摆满图书，则它的填充因子（度）为&lt;span lang="EN-US"&gt;100%&lt;/span&gt;，那么如果图书馆新增加了一本书《三侠剑》，按索引来安排，则它应该放到&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架，但&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架已经满了，那么可以增加一个书架（页），这个书架可能挨着&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架，但也有可能有一定距离，那么，在查找《三侠剑》时，就要求在两个书架中查找，可能&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架中找不到，到新增加的那个书架去找，而这个书架离&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架较远，影响了查找的效率。那么如果&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架没有摆满，而是只摆了&lt;span lang="EN-US"&gt;60&lt;/span&gt;本书（假设一本书为&lt;span lang="EN-US"&gt;1%&lt;/span&gt;），那么填充因子（度）为&lt;span lang="EN-US"&gt;60%&lt;/span&gt;。此时当添加《三侠剑》时，可以放到&lt;span lang="EN-US"&gt;6&lt;/span&gt;号书架中，而不必再增加一个额外的书架。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;span lang="EN-US"&gt;Pad_Index&lt;/span&gt;：设置创建索引时每个索引页的非页级别中的可用空间的比。它的值由&lt;span lang="EN-US"&gt;FillFactor&lt;/span&gt;指定。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;性能分析（简）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;简单说明一下，详细说明在后篇说明。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 微软雅黑; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'; mso-no-proof: yes"&gt;showplan_text&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：设置&lt;span lang="EN-US"&gt;sql server&lt;/span&gt;不执行（&lt;span lang="EN-US"&gt;on&lt;/span&gt;）&lt;span lang="EN-US"&gt;sql&lt;/span&gt;语句，而返回如何执行语句的详细信息。须做为单独的批处理运行，且不能用在存储过程中。与它类似的还有&lt;span lang="EN-US"&gt;showplan_all&lt;/span&gt;，它的信息更详细。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 微软雅黑; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'; mso-no-proof: yes"&gt;statistics io&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：显示执行&lt;span lang="EN-US"&gt;sql&lt;/span&gt;语句的磁盘活动量。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;table class="MsoTableGrid" style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: center; mso-line-height-rule: exactly" align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;输出项&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: center; mso-line-height-rule: exactly" align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;中文输出名&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: center; mso-line-height-rule: exactly" align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;含义&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;表&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;表的名称。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Scan count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;扫描计数&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;执行的索引或表扫描数。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;logical reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;逻辑读取&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;从数据缓存读取的页数。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;physical reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;物理读取&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;从磁盘读取的页数。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;read-ahead reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;预读&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;为进行查询而放入缓存的页数。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;lob logical reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Lob&lt;/span&gt;&lt;span style="font-family: 微软雅黑"&gt;逻辑读取&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;从数据缓存读取的&lt;span lang="EN-US"&gt; text&lt;/span&gt;、&lt;span lang="EN-US"&gt;ntext&lt;/span&gt;、&lt;span lang="EN-US"&gt;image &lt;/span&gt;或大值类型&lt;span lang="EN-US"&gt; (varchar(max)&lt;/span&gt;、&lt;span lang="EN-US"&gt;nvarchar(max)&lt;/span&gt;、&lt;span lang="EN-US"&gt;varbinary(max)) &lt;/span&gt;页的数目。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 7"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;lob physical reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Lob&lt;/span&gt;&lt;span style="font-family: 微软雅黑"&gt;物理读取&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;从磁盘读取的&lt;span lang="EN-US"&gt; text&lt;/span&gt;、&lt;span lang="EN-US"&gt;ntext&lt;/span&gt;、&lt;span lang="EN-US"&gt;image &lt;/span&gt;或大值类型页的数目。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 8; mso-yfti-lastrow: yes"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 129.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="173"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Lob read-ahead reads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 83.2pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="111"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US" style="font-family: 微软雅黑"&gt;Lob&lt;/span&gt;&lt;span style="font-family: 微软雅黑"&gt;预读&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 213.05pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span style="font-family: 微软雅黑"&gt;为进行查询而放入缓存的&lt;span lang="EN-US"&gt; text&lt;/span&gt;、&lt;span lang="EN-US"&gt;ntext&lt;/span&gt;、&lt;span lang="EN-US"&gt;image &lt;/span&gt;或大值类型页的数目。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: left; mso-line-height-rule: exactly" align="left"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 微软雅黑; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'; mso-no-proof: yes"&gt;statistics time&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：显示分析，编译，执行&lt;span lang="EN-US"&gt;sql&lt;/span&gt;语句花费的时间（毫秒）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;&amp;#183;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 微软雅黑; mso-font-kerning: 0pt; mso-bidi-font-family: 'Courier New'; mso-no-proof: yes"&gt;DBCC&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：全名为数据库控制台命令，即&lt;span lang="EN-US"&gt;DataBase Console Command&lt;/span&gt;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;table class="MsoTableGrid" style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 59.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: center; mso-line-height-rule: exactly" align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;命令类别&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 0cm; border-left: #ece9d8; width: 366.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="489"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; text-align: center; mso-line-height-rule: exactly" align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;执行&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 59.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;维护&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 366.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="489"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;对数据库、索引或文件组进行维护的任务。&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 59.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;杂项&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 366.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="489"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;杂项任务，如启用跟踪标志或从内存中删除&lt;span lang="EN-US"&gt;DLL&lt;/span&gt;。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 59.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;信息&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 366.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="489"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;收集并显示各种类型信息的任务。&lt;span lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 59.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;验证&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 366.7pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="489"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 微软雅黑"&gt;对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;主要介绍几个：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;DBCC ShowContig&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：显示指定的表或视图的数据和索引的碎片信息。这个命令在高版本&lt;span lang="EN-US"&gt;sql&lt;/span&gt;中推荐由动态管理函数&lt;span lang="EN-US"&gt;sys.dm_db_index_physical_stats&lt;/span&gt;代替。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;Dbcc showcontig(&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;表名（&lt;span lang="EN-US"&gt;id&lt;/span&gt;）｜索引名（&lt;span lang="EN-US"&gt;id&lt;/span&gt;）｜视图名（&lt;span lang="EN-US"&gt;id&lt;/span&gt;）&lt;span lang="EN-US"&gt;) with&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;对于&lt;span lang="EN-US"&gt;with&lt;/span&gt;部分，常用的是&lt;span lang="EN-US"&gt;tableresults&lt;/span&gt;，用于通过表格显示信息结果。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 23pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="font-size: 12pt; font-family: 微软雅黑"&gt;DBCC DbReindex&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 微软雅黑"&gt;：重建立索引。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2289897.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/12/16/2289897.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/30/2159342.html</id><title type="text">DesignPattern2s——（3）decorator</title><summary type="text">装饰者，decorator，定义是：动态将责任附加到对象上，若要扩展功能，装饰比继承提供了更具弹性的的替代方案。定义很简单，而且每个人大概都有个模糊的概念和理解，但装饰者到底是为解决什么问题的？什么情况下可以应用这种模式？它到底是怎么样的？从定义上，可以找到几个关键词：动态，责任，附加，对象，扩展，弹性。动态，表示它不是死的，固定的。责任，这里指对象的功能，类的作用，例如，行为。附加，表示它是一种次要的事物，要依附主要事物。扩展，表示它不是封闭的。弹性，物理上表示物体受到外力发生形变，除去外力后恢复原来状态。它指的是一个量因受到另一个量的变化而变化。如果一个量变化大，那它的量变化也大，反之则小</summary><published>2011-08-30T03:20:00Z</published><updated>2011-08-30T03:20:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/30/2159342.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/30/2159342.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;装饰者，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;decorator&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，定义是：动态将责任附加到对象上，若要扩展功能，装饰比继承提供了更具弹性的的替代方案。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;定义很简单，而且每个人大概都有个模糊的概念和理解，但装饰者到底是为解决什么问题的？什么情况下可以应用这种模式？它到底是怎么样的？&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;从定义上，可以找到几个关键词：动态，责任，附加，对象，扩展，弹性。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;动态，表示它不是死的，固定的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;责任，这里指对象的功能，类的作用，例如，行为。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;附加，表示它是一种次要的事物，要依附主要事物。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;扩展，表示它不是封闭的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;弹性，物理上表示物体受到外力发生形变，除去外力后恢复原来状态。它指的是一个量因受到另一个量的变化而变化。如果一个量变化大，那它的量变化也大，反之则小。弹性大，那么它的可伸缩的空间就大。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;从字面上联系现实世界来看，装饰可以说是人的着装打扮。人有很多种，也有很多个，服装和化妆品也有很多种，很多个。因为文化、环境、个人等因素的存在，所以着装打扮也不尽相同。一个人可以穿休闲服，可以带上一个墨镜，如果下雨的话，还可以带上一个雨伞，或穿上一件雨衣。这些都可以形容为是一种装饰，它灵活。一个人可以穿多种多样的衣服，可以画很多不同的妆（只要想），那么说明装饰是可扩展的，它扩展的是一个人的外在表现。当然也可以添加一块手表，一个墨镜，那么它可以看时间，可以遮挡强光（还可以改变外貌，使人更酷），那么现在就扩展了人的行为：可以看时间，可以在强光下长时间看。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;如果是冬天，天气寒冷，那么人可以穿保暖性强的服装，如棉服；如果是夏天，天气炎热，那么可以穿薄点的，通气性好的服装，如&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Tshirt&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，或不穿。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;环顾周围，可以发现很多对象，而且很容易的说出它们的属性，例如：杯子，房子，鼠标，笔，手机等。但把现实世界的对象抽象为软件中的类型和对象时，会发现，并不容易。面向对象的设计与现实世界的对象是映射的。那么现实中解决问题的方法和面向对象的设计中的各种原则，例如设计模式也是对应的。如果在面向对象的软件设计和开发过程中，把两者联系起来，会发现，一切都是那么的合情合理。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;现在描述一个场景：一个有老师，工程师，小学生的环境下（话剧的化妆间），每个人的穿着不一样，有穿学生装的，有带电脑的，有带领带的等。他们都要通过化妆师来化妆打扮以适合各自的角色，假设他们都穿着内衣来进行化妆。那么学生要穿：学生装，红领巾，短裤；老师要穿：长衣衫，长裙，平底鞋，眼镜；工程师：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;tshirt&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，裤子，皮鞋，带电脑，带领带。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在化妆间，发现，这些学生装，红领由，电脑，眼镜等都是独自存在的，而不是来就带有的（假设）。那到哪个角色，就可以为这个角色以角色的特征来添加相应的衣服和配套用品。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;穿是人的行为，老师，小学生，工程师都能执行这个行为。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;装饰者的装饰对应的功能是主要和次要类中所共有的，在这个例子中，他们有共同的行为：穿。然后被装饰对象和装饰对象拥有相同的抽象，也就是具有同一个父类，那么才能可能利用多态来实现装饰（包装）。装饰者模式有一个要素：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;被装饰者（主要的，人，小学生，工程师，老师）和装饰者（各种服装，配套用品，皮鞋，电脑，眼镜等）共同的接口：这里就是人，精确的说是人的行为：穿。而为这个穿行为，主要者：各种职业有基本的穿着行为。然后通过装饰各种次要者，来实现各种角色服饰的目的。其中服装和配套用品可以有很多种，它是灵活的。可以要哪种服装加哪种。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（一）基类：其中有主要和次要的共同接口行为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Dress&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Person&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dress();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dress();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（二）装饰者&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;从基类继承，且类中有要装饰的对象：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Decorator&amp;nbsp;:&amp;nbsp;Person&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Person&amp;nbsp;_person;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Decorator(Person&amp;nbsp;person)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_person&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;person;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dress()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（三）装饰者实现&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实现装饰者，做为各种服装，配套类。如长裙类。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Longuette&amp;nbsp;:&amp;nbsp;Decorator&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Longuette(Person&amp;nbsp;person):&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(person)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dress()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_person.Dress();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;longuette&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（四）被装饰实现&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;主要的实现，例如学生&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Student&amp;nbsp;:&amp;nbsp;Person&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dress()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;student's&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;使用：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;Person&amp;nbsp;person&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Student();&lt;br /&gt;TShirt&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TShirt(person);&lt;br /&gt;t.Display();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;装饰者会把被装饰者包装起来。这个包装的过程就是在装饰者中保留了对父类的一个的引用，同时装饰者继承了父类，当对一个从父类派生的被装饰者进行装饰时，可以调用这个引用的功能，同时对同一功能来说，还要加上装饰者本身的这个行为，做为一种装饰存在。实现了功能的附加。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;装饰者模式的前提是装饰者和被装饰者具有相同的父类型。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;它的定义是这样的：定义一个共同的父类，然后定义一个装饰抽象类，从这个父类派生。这个装饰抽象类中，保留一个父类的实例引用。定义一个被装饰者，也从这个父类派生。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;当使用时，把被装饰者实例传递到装饰者，从另一形式上说，装饰者包起了被装饰者的实例，那么在执行行为时，可以在执行派生的行为外，还能通过保留的实例引用使用被包装对象的这个行为。这样就完成了职责的附加，扩展了功能。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;现在考虑一个场景：设计一块电子表，它有最基本的计时功能。然后，为了用于各种不同的用途，例如：潜水用，森林里用，黑夜用等，可以为它添加不同的接口行为。可以添加指南针功能，可以增加防水功能，可以增加夜视灯功能。它的可附加功能有很多，且各个附加功能可能多个使用。在这种情况下，可以设计为装饰模式。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;首先，要抽象出主要和次要的共同父类，这里把电子表做为这个父类，且这个父类具有最基本的计时能力。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Watch&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Capability()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;计时&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;其次，设计装饰抽象，把父类引用保留在这个类中，同时在构造时把被装饰者传给这个引用，以调用这个被装饰者的能力。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WatchDecorator&amp;nbsp;:&amp;nbsp;Watch&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Watch&amp;nbsp;_watch;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WatchDecorator(Watch&amp;nbsp;watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_watch&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;watch;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Capability()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_watch.Capability();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;然后设计多个装饰实现者，实现要附加的功能：防水，夜视，指南针。&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Waterproof&amp;nbsp;:&amp;nbsp;WatchDecorator&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Waterproof(Watch&amp;nbsp;watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Capability()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_watch.Capability();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;防水&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NightSight&amp;nbsp;:&amp;nbsp;WatchDecorator&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NightSight(Watch&amp;nbsp;watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Capability()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_watch.Capability();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;夜视&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Compass&amp;nbsp;:&amp;nbsp;WatchDecorator&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Compass(Watch&amp;nbsp;watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(watch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Capability()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_watch.Capability();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;指南针&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 10pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;Watch&amp;nbsp;watch&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Watch();&lt;br /&gt;watch.Capability();&lt;br /&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;****************************&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;添加夜视和指南功能&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;watch&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NightSight(watch);&lt;br /&gt;watch&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Compass(watch);&lt;br /&gt;watch.Capability();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;装饰，或其他模式，或面向对象的设计的原则等等，如果与真实世界联系起来，会发现它们一切都在情理之中，且有的或有时比真实的世界更理想。好比艺术，来源于生活，但高于生活。同样，这些优秀的经验来自于真实的世界，且有时还高于这个世界。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/jams742003/aggbug/2159342.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/30/2159342.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/26/2154953.html</id><title type="text">DesignPattern2s——（2）observer</title><summary type="text">场景：水加热器，如果水温到95以上时，加热器的警报器会响且水温显示屏会显示当前的温度。实现一：加热行为时，如果水温（状态）发生改变，到95度以上，那会同时调用行为：警报和显示。publicclassHeater{int_temperature;publicvoidBoilWater(){for(inti=0;i&lt;101;i++){if(i&gt;95){_temperature=i;MakeAlert(_temperature);ShowMessage(_temperature);}}}publicvoidMakeAlert(intiTemperature){Console.WriteL</summary><published>2011-08-26T09:29:00Z</published><updated>2011-08-26T09:29:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/26/2154953.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/26/2154953.html"/><content type="html">&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;场景：水加热器，如果水温到&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;以上时，加热器的警报器会响且水温显示屏会显示当前的温度。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span&gt;&lt;strong&gt;实现一：加热行为时，如果水温（状态）发生改变，到&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;strong&gt;度以上，那会同时调用行为：警报和显示。&lt;/strong&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MakeAlert(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MakeAlert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;alarm:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowMessage(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;current&amp;nbsp;temperature&amp;nbsp;is:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;以上实现了这个加热器，现在的情况是：当加热时，且加热到&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;度以上，那么会调用警报行为和显示行为。如果现在加热器&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;要添加一个行为：水温到&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;以上时，要跳动&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;Jump&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;。那么要在这个类中添加这个行为，同时更改&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilWater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;通过观察者模式，可以不用修改&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilWater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;。当加热器水温到达&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;度以上时，会同时通知三个行为：警报，显示，跳动。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;观察者模式包括：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;subject&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;主题，也就是被观察者；&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;Observer&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;，观察者。它可以描述为一种订阅和发布关系。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在以上场景中，加热器是被观察者，而三个行为是观察者，它们都依赖于被观察者的状态信息；而加热器加热到&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;度，会调用这三个行为，构成了对这三个行为的依赖。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实现二：通过观察者模式实现加热器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US" style="font-size: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;先把行为：警报和显示分离开来。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MakeAlert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;alarm:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowMessage(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;current&amp;nbsp;temperature&amp;nbsp;is:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;警报器类和显示屏类中的行为都依赖于被观察者中的数据状态。观察者中的主题要求能够注册和注销这些行为。这里的注册注销可以动态添加这两个行为到一个行为集体，然后在执行到状态改变时同时调用这些行为。现在尝试把两个行为能够添加到一&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;个列表集合中。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;把行为添加到集合列表&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;两个行为&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;MakeAlert&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;ShowMessage&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;除方法名不同外，签名的其它都相同。所以可以考虑通过委托列表集合来实现。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;定义一个委托并修改主题：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;DelegateHeater&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_list&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;DelegateHeater&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Notify();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Notify()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(DelegateHeater&amp;nbsp;heater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_list)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Registe(DelegateHeater&amp;nbsp;dheater)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_list.Add(dheater);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RegisteCancel(DelegateHeater&amp;nbsp;dheater)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_list.Remove(dheater);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;使用加热器：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_5_heater_2()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Heater&amp;nbsp;heater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;警报&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alert&amp;nbsp;aa&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display&amp;nbsp;dd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;注册两个行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.Registe(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater(aa.MakeAlert));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.Registe(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater(dd.ShowMessage));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;************************************&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示器坏了，注销显示行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.RegisteCancel(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater(dd.ShowMessage));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;这样可以随意注册和注销加热器的行为。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在实现了观察者模式，通过委托列表集合来保存注册的行为。委托类型可以把多个方法绑定到一个委托。在使用时，需要定&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;义委托类型实例，可以考虑把委托类型定义到主题（水加热器内部）并进行封装。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DelegateHeater&amp;nbsp;_selfHeater;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_selfHeater(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;去掉注册和注销的行为，通过添加到或删除从委托保存行为对象，然后通过调用委托，执行已经注册的行为。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_5_heater_2()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Heater&amp;nbsp;heater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;警报&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alert&amp;nbsp;aa&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display&amp;nbsp;dd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;注册两个行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater._selfHeater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;aa.MakeAlert;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater._selfHeater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dd.ShowMessage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;************************************&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示器坏了，注销显示行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater._selfHeater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dd.ShowMessage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;访问类中的字段，通过采用属性方式访问。通过属性对域进行封装。它主要体现面向对象的封装特性，且可以提高安全性，和&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;数据的完整性。例如可以通过设置读和写属性来控制域的读写属性。但平时多从封装性方面来使用，在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;3.x&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;及&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;4.0&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;版本中，出现了&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;自动属性。同样对于委托来说，可以通过事件类型来封装。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;通过事件来封装委托实现水加热器。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWaterHandler(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWaterHandler&amp;nbsp;BoilEvent;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoilEvent(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;调用时，和上一段实现没有区别：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_5_heater_2()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Heater&amp;nbsp;heater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;警报&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alert&amp;nbsp;aa&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display&amp;nbsp;dd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;注册两个行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilEvent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;aa.MakeAlert;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilEvent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dd.ShowMessage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;************************************&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;显示器坏了，注销显示行为&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilEvent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dd.ShowMessage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在加热器加热时，也就是在执行&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilWater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;时，如果温度到达&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;95&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;度以上，就会调用注册到&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilEvent&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;事件的行为，它通过委托实现。但如果还没有注册行为，在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilWater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;执行时，到达条件调用两个注册行为，会引发异常，因为现在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilEvent&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;未注册行为，所以，还应该在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;Heater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;类中&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;BoilWater&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中添加对事件为空的判断。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(BoilEvent&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoilEvent(_temperature);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在通过委托且用事件封装委托实现了观察者。在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;c#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中，事件的实现模式就是观察者模式。下面通过系统的自定义事件实现这个水加热器。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;先看下常用的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;page_load&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;事件&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Page_Load(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;可以知道，这个事件的委托类型委托的方法带两个参数：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt; sender&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;参数就是主题对象。而&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;e&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;为主题对象多个依赖的要获得的信息数&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;据，例如在热水器中，其中的温度就是这个&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;e&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;delegate&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWaterEventHandler(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;BoildEventArgs&amp;nbsp;e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWaterEventHandler&amp;nbsp;Boiled;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Boiled&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoildEventArgs&amp;nbsp;args&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoildEventArgs(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Boiled(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;args);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoildEventArgs&amp;nbsp;:&amp;nbsp;EventArgs&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoildEventArgs(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Temperature&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MakeAlert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;BoildEventArgs&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;alarm:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.Temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowMessage(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;BoildEventArgs&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;current&amp;nbsp;temperature&amp;nbsp;is:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.Temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;因为委托变了，所以还要调用被委托的行为的签名，所以&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;ShowMessage&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;方法和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;MakeAlert&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;方法都做了相应的调整。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实现三：通过&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US" style="font-size: 12pt"&gt;&lt;font face="Times New Roman"&gt;.net&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;内置的观察者模式实现水加热器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US" style="font-size: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;.net4.0&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中，添加了对观察者模式的支持。添加了两个接口：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: #2b91af; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;IObservable&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;T&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;这个就是主题&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: #2b91af; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;IObserver&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;T&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;这个是观察者。&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="color: blue; font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Consolas"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater:IObservable&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_list&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_temperature;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IDisposable&amp;nbsp;Subscribe(IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;observer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_list.Add(observer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;observer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IDisposable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BoilWater()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;95&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_temperature&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Notify(_temperature);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Notify(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iTemperature)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;observer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_list)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;observer.OnNext(iTemperature);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IDisposable&amp;nbsp;UnSubscribe(IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;observer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_list.Remove(observer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;observer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IDisposable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert:IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnCompleted()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnError(Exception&amp;nbsp;error)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnNext(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;alarm:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display&amp;nbsp;:&amp;nbsp;IObserver&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnCompleted()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnError(Exception&amp;nbsp;error)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NotImplementedException();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OnNext(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;current&amp;nbsp;temperature&amp;nbsp;is:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_7_observer()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Heater&amp;nbsp;heater&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Heater();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Alert&amp;nbsp;aa&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Alert();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display&amp;nbsp;dd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.Subscribe(aa);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.Subscribe(dd);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;************************************&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.UnSubscribe(dd);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;heater.BoilWater();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; text-align: left; mso-line-height-rule: exactly; mso-layout-grid-align: none" align="left"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt;Observer&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;模式使得我们可以独立地改变目标与观察者，从而使二者之间的依赖关系达到松耦合。委托就是一种观察者模式的应&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;用，应用的前提是观察者（被委托的方法）具有相同的接口 ，或说具有相同的高层抽象。在这里被委托的方法，方法名可以&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 21pt; mso-line-height-rule: exactly"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;不同，但方法签名的其他部分相同。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2154953.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/26/2154953.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/25/2153394.html</id><title type="text">DesignPattern2s——（1）strategy</title><summary type="text">先熟悉一下重要的概念：面向接口编程这里的接口指的不是狭义上的Interface，而是说抽象层次高的编程，也就是父类级。可以是普通类、抽象类、接口（interface）等。实现面向接口编程的基础就是多态。多态有好几种意义，但最常用，也是暗指的就是：父类的引用可以指向子类的对象实例。那么这种情况下此实例在不进行类型转换时表面上是一个父类型，所以只能访问父类中公开的属性和行为等成员；但实际上这个实例的类型是子类类型，进行类型转换后，除了继承自父类的成员外，还带有自己的成员。publicclassAnimal{publicvoidShow(){Console.WriteLine("fathe</summary><published>2011-08-25T07:34:00Z</published><updated>2011-08-25T07:34:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/25/2153394.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/25/2153394.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;先熟悉一下重要的概念：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;面向接口编程&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;这里的接口指的不是狭义上的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Interface&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;，而是说抽象层次高的编程，也就是父类级。可以是普通类、抽象类、接口（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;interface&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）等。实现面向接口编程的基础就是多态。多态有好几种意义，但最常用，也是暗指的就是：父类的引用可以指向子类的对象实例。那么这种情况下此实例在不进行类型转换时表面上是一个父类型，所以只能访问父类中公开的属性和行为等成员；但实际上这个实例的类型是子类类型，进行类型转换后，除了继承自父类的成员外，还带有自己的成员。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Animal&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Show()&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;father&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dog&amp;nbsp;:&amp;nbsp;Animal&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowMessage()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;son&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: #2b91af; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;Animal&amp;nbsp;dog&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dog();&lt;br /&gt;dog.Show();&lt;br /&gt;(dog&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dog).ShowMessage();&lt;br /&gt;(dog&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dog).Show();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;dog&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;对象直接可见的成员是父类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Animal&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Show&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;方法。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;dog&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;引用指向子类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Dog&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;的实例，进行转化后，除了可见继承自父类的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Show&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;方法外，还有它扩展的方法：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ShowMessage&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;方法。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;这里要说的设计模式是策略模式。以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;headfirst&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中的例子来分析。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;场景：一个模拟鸭子的游戏。鸭子有两种行为：叫和游泳。同时还有一个行为就是显示当前鸭子的信息。游戏中有两种鸭子：野鸭（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;mallard&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）和红头鸭（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;redhead&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（一）通过继承实现&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在设计一个鸭子父类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Duck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;，它包含三个方法：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Quack&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（嘎嘎叫），&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Swim&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（游泳），&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Display&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（显示鸭子对象的信息）。这个父类的抽象层次较高，现在只知道它是鸭子，而不确定它是哪种鸭子。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;两种具体鸭子：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;MallardDuck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;，野鸭子；&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;RedheadDuck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;，红头鸭子。这两种鸭子都是会飞会游泳的，但它们的名称不一样，那么，在采用继承时，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Display&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在子类中实现，而公共的行为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Quack&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Swim&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在父类中实现。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;因为这里有父类中有行为实现，那么可用抽象类来定义父类。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Quack()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;嘎嘎嘎&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Swim()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;游泳&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&amp;nbsp;&amp;nbsp;&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;野鸭&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Quack();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Swim();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只野鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;红头鸭&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RedheadDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Quack();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Swim();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只红头鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_1_strategy_1()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Duck&amp;nbsp;duck&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;duck.Display();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;问题（一）：现在要为鸭子添加一种行为：飞&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;那么，当前系统中有两种具体的鸭子：野鸭和红头鸭，当然这两种鸭子都是会飞的，所以在父类中添加飞行为的实现即可。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Fly()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;飞&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;问题（二）：现在要增加一种鸭子种类：橡皮鸭（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;rubberduck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）但它的叫不是嘎嘎的叫，而是吱吱的叫。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;橡皮鸭通过继承父类实现了鸭子的所有行为：叫（嘎嘎叫），游泳，显示信息，飞。但这种鸭子是不会飞的。那么在这个子类中就多余了一种飞的成员。它不会飞，但却有飞的行为。如果多余一个飞的行为，那么在橡皮鸭的对象中调用飞的行为，那它就会飞了。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck&amp;nbsp;:&amp;nbsp;Duck&amp;nbsp;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Quack();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Swim();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只橡皮鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Consolas; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: Consolas"&gt;现在橡皮鸭的显示信息为：&lt;/span&gt;&lt;span style="font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;嘎嘎嘎&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;游泳&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;一只橡皮鸭子。&lt;/span&gt;&lt;span style="font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在更改橡皮鸭子的叫行为由原来的嘎嘎改为吱吱。这个可以通过虚方法的重写实现。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Duck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;父类：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Quack()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;嘎嘎嘎&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;RubberDuck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;子类：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Quack()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;base.Quack();&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onsole.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;吱吱吱&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在显示信息为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;吱吱吱&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;游泳&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;一只橡皮鸭子。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;还可以在不改变父类方法改为虚方法的情况下，通过&lt;span lang="EN-US"&gt;new&lt;/span&gt;来覆盖继承的&lt;span lang="EN-US"&gt;Quack&lt;/span&gt;方法：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Quack()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;吱吱吱&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;那么这个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;fly&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;行为当然也可以屏掉。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Fly()&lt;br /&gt;{&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;问题（三）：继续添加更多的鸭子种类，例如：诱饵鸭（木头做的），它不会飞也不会叫。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;那么如果还用继承来实现，那这种鸭子会多出飞和叫行为，当然这些行为可以屏掉。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;问题（四）：为鸭子添加跳舞行为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;这里对于行为飞和嘎嘎叫来说，不是所有的子类都具有这两个行为，如果通过继承父类，那么所有的子类中都会有这些行为，那么这种方式不是适当的解决方式；把这两个行为从父类中分离开来，独立设置为行为接口，子类有哪个行为就实现哪个接口，通过这种接口继承，可以满足只有具有某个行为的子类真的只具有这个行为，但如果子类多了，那会造成大量的代码重复。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;设计原则：分离出变化的部分。&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;上边已经提到了把飞和嘎嘎叫这两个行为分离开来，做为独立的接口存在，但在子类中不通过继承实现接口的方式来实现。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;实现：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）分离出变化的行为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;建立两个接口（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;interface&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;），用以抽象两个行为。这里可以用抽象类，但对于行为抽象来说，接口（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;interface&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）更具有意义。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IFly&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Fly();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IQuack&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Quack();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在上边的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;IQuack&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;接口中，行为叫是一个高层的抽象，它就是一个叫的行为，而不需要确定它是嘎嘎叫，所以，把这个接口改一下，用来表示叫行为（改个名字）：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;interface&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ICry&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryOut();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）实现两种行为，建立行为类&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FlyWithWings&amp;nbsp;:&amp;nbsp;IFly&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Fly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;飞~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FlyNoWay&amp;nbsp;:&amp;nbsp;IFly&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Fly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryQuack&amp;nbsp;:&amp;nbsp;ICry&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryOut()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;嘎嘎嘎&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CrySqueak&amp;nbsp;:&amp;nbsp;ICry&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryOut()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;吱吱吱&amp;nbsp;~&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;以上实现了飞和叫两种行为，飞的行为类有两种：能飞的和不能飞的；叫的行为类有两种：嘎嘎叫的和吱吱叫的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）通过接口变量执行类的行为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;在父类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Duck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;中，设置飞行为和叫行为的变量，通过指向子类的实现，访问父类的成员。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IFly&amp;nbsp;_fly;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ICry&amp;nbsp;_cry;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;PerformCry()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry.CryOut();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;PerformFly()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly.Fly();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display();&amp;nbsp;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;）实现父类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Duck&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;的具体子类&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;野鸭&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FlyWithWings();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryQuack();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformFly();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformCry();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只野鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;橡皮鸭&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FlyNoWay();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CrySqueak();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformFly();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformCry();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只橡皮鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;现在，在鸭子子类的构造器中，对行为进行了实例化，确定了行为的具体实现。野鸭类中的叫这里设置了具体的嘎嘎叫行为，但说不定会因为某些原因（受伤）而叫不出声音或叫出嗷嗷叫的声音，那么在这里可以由具体实现提升到对接口编程。改造一下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck(IFly&amp;nbsp;fly,ICry&amp;nbsp;cry)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fly;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cry;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformFly();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformCry();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只野鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;橡皮鸭&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck&amp;nbsp;:&amp;nbsp;Duck&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RubberDuck(IFly&amp;nbsp;fly,&amp;nbsp;ICry&amp;nbsp;cry)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fly;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cry;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Display()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformFly();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PerformCry();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;一只橡皮鸭子。&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;那么这时，即使将来野鸭子的叫行为发生改变，那也可以通过设置另一种叫的行为类来改变叫的行为，而不需要改变子类的实现代码。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: #2b91af; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;Duck&amp;nbsp;duck&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FlyWithWings(),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CryQuack());&lt;br /&gt;duck.Display();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;飞&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;嘎嘎嘎&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'"&gt;一只野鸭子。&lt;/span&gt;&lt;span style="font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;看以上代码，发现对于两个参数的构造器来说，代码实现都是相同的，那这部分代码就重复了，可以移到父类中实现。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Duck(IFly&amp;nbsp;fly,&amp;nbsp;ICry&amp;nbsp;cry)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_fly&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fly;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cry&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cry;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: Consolas; color: blue; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MallardDuck(IFly&amp;nbsp;fly,&amp;nbsp;ICry&amp;nbsp;cry):&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(fly,&amp;nbsp;cry)&lt;br /&gt;{}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;策略模式&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;定义了算法家族，算法间可以互相替换，算法的变化独立于使用它的客户。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;这里所说的算法指的就是上面的行为接口。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;总结：策略模式是行为类设计模式，用于封装算法家庭，通过多态实现算法间互换和独立于使用客户。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2153394.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/25/2153394.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/10/2133856.html</id><title type="text">Ruby入门（4）——类</title><summary type="text">创建类： class后跟类名，其中类名的首字母必须要大写。实例化时，通过new方法实例化。在c#中有构造器，构造器与类同名。在ruby中，构造器为initialize方法。当通过new方法实例化一个类对象后，会自动调用initialize方法，把new中的参数传递给initialize方法进行初始化。在c#中的域，在ruby中称为实例变量，定义时前边加@前缀，表示是一个实例变量。classCustomerdefinitialize(name,age)@name,@age=name,ageendendc1=Customer.new("Tom",20)访问器实例变量只能通过实例</summary><published>2011-08-10T08:55:00Z</published><updated>2011-08-10T08:55:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/10/2133856.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/10/2133856.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;创建类：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; class&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;后跟类名，其中类名的首字母必须要大写。实例化时，通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法实例化。在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;c#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中有构造器，构造器与类同名。在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，构造器为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;initialize&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法。当通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法实例化一个类对象后，会自动调用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;initialize&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法，把&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的参数传递给&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;initialize&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法进行初始化。在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;c#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的域，在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中称为实例变量，定义时前边加&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;@&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;前缀，表示是一个实例变量。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;Customer&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;initialize(name,age)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name,@age=name,age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;c1=Customer.new("Tom",&lt;span style="color: red"&gt;20&lt;/span&gt;)&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;访问器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实例变量只能通过实例方法来访问。如果要访问它们可以提供方法访问器。在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;c#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中称为属性，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Java&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中也是定义方法来表示属性。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;Customer&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;initialize(name,age)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name,@age=name,age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;以上定义了两个方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;x&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;y&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，它们可以读&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;@x&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;@y&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实例变量。这就定义了读属性方法。如果要进行赋值操作，还要定义写属性方法：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;name=(v)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name=v&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;age=(v)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@age=v&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;要注意的是：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;c1=Customer.new("Tom",&lt;span style="color: red"&gt;20&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;c1.name="Jhon"&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;只有在实例中才能这样使用写属性。如果在类中，不能通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;name=value&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;这样来代替&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;@name=value&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。但可以通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;self&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来这样使用：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;self.name=value&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供了简化定义属性方法：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;attr_reader&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;attr_accessor&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。后边跟符号，会自动创建同名的读写属性。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;Customer&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;initialize(name,age)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name,@age=name,age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attr_reader&amp;nbsp;:name,:age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attr_accessor:name,:age&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;c1=Customer.new("Tom",&lt;span style="color: red"&gt;20&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;c1.name,c1.age&amp;nbsp;&lt;br /&gt;c1.name="Jhon"&amp;nbsp;&lt;br /&gt;c1.age=&lt;span style="color: red"&gt;30&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;c1.name,c1.age&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类变量，常量，类方法&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类变量以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;@@&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;开头；常量通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类名&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;+::&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;常量名&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;进行访问；类方法在实例方法方法名前加类名。在定义类方法时，可以采用一种方式：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;class&amp;lt;&amp;lt;self&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;def &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;那么，这个方法就是一个类方法：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;Customer&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;initialize(name,age)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@name,@age=name,age&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;span style="color: blue"&gt;self&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;showName&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'ok'&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;Customer.showName&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法的访问性&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：公有的，默认情况下类中的方法是公有的，可以用在任何地方。构造方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;initialize&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;为私有的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;private&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：私有的，类内部使用的，只能被类或子类的实例方法所调用。只能通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;self&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;隐式调用，不能通过一个对象显示调用。一个私有方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;m&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，只能通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;m&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;调用，而不能通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;o.m&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;self.m&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;调用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;protected&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：受保护的，类内部或子类内部使用的方法。与私有的区别是：除&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;self&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;隐式调用外，还可以通过该类对象显示调用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可以通过以下方法来声明方法的访问性：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;访问性&lt;span lang="EN-US"&gt;&amp;nbsp;private&amp;nbsp;protected&amp;nbsp;public&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;private&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;private_method&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"private&amp;nbsp;&lt;span style="color: blue"&gt;method&lt;/span&gt;&amp;nbsp;testing"&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;protected&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;protected_method&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"protected&amp;nbsp;&lt;span style="color: blue"&gt;method&lt;/span&gt;&amp;nbsp;testing"&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public:protected_method&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;工厂方法&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;使用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法私有，然后通过类方法创建实例&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;Fruit&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;private_class_method:new&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;Fruit.CreateFruit&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&amp;nbsp;Fruit&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;f=Fruit.CreateFruit&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;模块&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;module&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;module&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;作用之一是做为名字空间用。调用类时与调用常量相同：两个冒号&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;另一作用是作为混入。通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;include&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;把模块中的实例方法包含到其它类中。感觉功能像&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;C#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的名字空间引入。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2133856.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/10/2133856.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/08/2131126.html</id><title type="text">Ruby入门（3）——方法、代码段</title><summary type="text">Ruby中的方法是一个有名称的代码块，是与一个或多个对象关联的参数化的代码。调用时须给出方法名，接收者（所在对象），参数值，且最后一个表达式的值做为返回值。与Ruby方法相似的是代码块，它没有名字，且调用时只通过迭代器或被间接调用。（一）方法（1）定义方法定义方法就是def 方法名（参数列表）方法体end最后一个表达式做为返回值返回，如果有值，则返回；无值则返回nil。可以省略return。在类中定义的方法为实例方法，实例方法可以在类的实例对象上使用。如果是在一个特定的对象上定义方法，那么此方法就是一个单键方法，只能在这个对象上使用。classTestdefinstance_method_te</summary><published>2011-08-08T08:56:00Z</published><updated>2011-08-08T08:56:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2131126.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2131126.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的方法是一个有名称的代码块，是与一个或多个对象关联的参数化的代码。调用时须给出方法名，接收者（所在对象），参数值，且最后一个表达式的值做为返回值。与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法相似的是代码块，它没有名字，且调用时只通过迭代器或被间接调用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（一）方法&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）定义方法&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;定义方法就是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;def &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法名（参数列表）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法体&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;最后一个表达式做为返回值返回，如果有值，则返回；无值则返回&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;nil&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。可以省略&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;return&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在类中定义的方法为实例方法，实例方法可以在类的实例对象上使用。如果是在一个特定的对象上定义方法，那么此方法就是一个单键方法，只能在这个对象上使用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&amp;nbsp;&lt;span style="color: blue"&gt;Test&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;instance_method_test(v)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{v}:&amp;nbsp;instance&amp;nbsp;method"&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;t1=&lt;span style="color: blue"&gt;Test&lt;/span&gt;.new&amp;nbsp;&lt;br /&gt;t2=&lt;span style="color: blue"&gt;Test&lt;/span&gt;.new&amp;nbsp;&lt;br /&gt;t1.instance_method_test("t1")&amp;nbsp;&lt;br /&gt;t2.instance_method_test("t2")&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;t1.singleton_method_test(v)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{v}:singleton&amp;nbsp;method"&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;t1.singleton_method_test("t1")&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#t2.singleton_method_test("t2")&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，方法一般小写字母开头，如果超过一个单词，则由下划线隔开（看习惯）。有意思的是方法名可以以等号、问号、叹号结尾，且有不同的意义：以等号（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）结尾表示这是一个赋值方法（写属性）；以问号（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;?&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）结尾表示一个断言方法，可以回答调用者提出问题的值，例如判断大小；叹号（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;!&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）结尾表示是一个可变方法，可能会影响到对象的状态，要小心使用。这三个符号很有意思，但它们不是必须的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）取消方法&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;undef &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法名&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt"&gt;&lt;font face="Times New Roman"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可以取消方法。对于被继承的方法，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;undef&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可以取消子类中的继承来的方法，但不会取消父类中的此方法。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）方法参数&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在参数中添加等号和值就可以为这一个参数设置默认值。如果参数有默认值，那么在调用方法时，可以为这个参数指定值或不指定值。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;def&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&amp;nbsp;createRole(name,level=&lt;span style="color: red"&gt;1&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"role&amp;nbsp;name&amp;nbsp;is&lt;span style="color: green"&gt;#{:name}&amp;nbsp;level&amp;nbsp;is&amp;nbsp;#{level}"&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;createRole("way")&amp;nbsp;&lt;br /&gt;createRole("clound",&lt;span style="color: red"&gt;5&lt;/span&gt;)&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过在参数前边加星号（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;*&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;），可以为方法指定为可变参数个数（数组参数），且指定的个数最多为一个。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;def&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&amp;nbsp;add_Person(*users)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;users&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;add_Person("a1","a2")&amp;nbsp;&lt;br /&gt;add_Person("a1","a2","a3")&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;如果要把数组传递给方法，要在数组前加星号（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;*&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（二）代码块&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法调用后可以紧跟一个代码块，关联代码块的方法可以通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;yield&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来调用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;def&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&amp;nbsp;showMessage(i)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;yield&lt;/span&gt;&amp;nbsp;i*&lt;span style="color: red"&gt;2&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;i&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;showMessage(&lt;span style="color: red"&gt;5&lt;/span&gt;){|x|&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{x}"}&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;代码块通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;yield&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;调用，也可以做为方法参数传递，但前提是这个参数前需要添加&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;做为前缀且为最后一个参数。而此时它以一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对象传递，调用时不能通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;yield&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;调用，而是通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;call&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法调用。另外，如果以显示方式，即传递&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对象给方法，那方法定义的参数就不加&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;前缀了。通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;前缀，代码块可以与任何方法调用关联起来，即使此方法没有&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;yield&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;语句。任何方法调用都可以用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;参数作为最后一个参数。所有支持&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;to_proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的方法都能用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;传递代码块，代码块参数须为最后一个，且添加&lt;span lang="EN-US"&gt;&amp;amp;&lt;/span&gt;前缀；且调用时用&lt;span lang="EN-US"&gt;proc&lt;/span&gt;的&lt;span lang="EN-US"&gt;call&lt;/span&gt;方法&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;fun_block(i,&amp;amp;b)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;b.call(i*&lt;span style="color: red"&gt;2&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;fun_block(&lt;span style="color: red"&gt;2&lt;/span&gt;){|x|&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;显示传递&lt;span lang="EN-US"&gt;proc&lt;/span&gt;对象。那么方法中&lt;span lang="EN-US"&gt;proc&lt;/span&gt;对象部分的参数不加&lt;span lang="EN-US"&gt;&amp;amp;&lt;/span&gt;前缀&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;def&lt;/span&gt;&amp;nbsp;fun_proc(i,b)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;b.call(i*&lt;span style="color: red"&gt;2&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;p&lt;/span&gt;=&lt;span style="color: blue"&gt;Proc&lt;/span&gt;.new{|x|&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x}&amp;nbsp;&lt;br /&gt;fun_proc(&lt;span style="color: red"&gt;2&lt;/span&gt;,&lt;span style="color: blue"&gt;p&lt;/span&gt;)&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;c=[&lt;span style="color: red"&gt;1&lt;/span&gt;,&lt;span style="color: red"&gt;2&lt;/span&gt;,&lt;span style="color: red"&gt;3&lt;/span&gt;,&lt;span style="color: red"&gt;4&lt;/span&gt;,&lt;span style="color: red"&gt;5&lt;/span&gt;,&lt;span style="color: red"&gt;6&lt;/span&gt;]&amp;nbsp;&lt;br /&gt;b=c.&lt;span style="color: blue"&gt;select&lt;/span&gt;{|x|x%&lt;span style="color: red"&gt;2&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;p1=&lt;span style="color: blue"&gt;Proc&lt;/span&gt;.new{|x|x%&lt;span style="color: red"&gt;2&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;d=c.&lt;span style="color: blue"&gt;select&lt;/span&gt;(&amp;amp;p1)&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;d&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;代码块是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的一种句法结构，不是对象，但可以创建对象来表示一个代码块。根据对象的创建方式，分为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;行为与代码块相似；&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;行为与方法相似，但它们都是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类的实例。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Proc.new&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;创建一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1.9&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;版本中，与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法为同义词；通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法，创建一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法不带参数，调用时段关联一个代码块。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby 1.9&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，支持一种新的句法。将&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;换为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;-&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;；将参数放到花括号外边，小括号里边；花括号中只保留表达式。（可以与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;.net3.*&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;比较：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;()=&amp;gt;{}&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;#1.8k&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;中&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;br /&gt;d1=&lt;span style="color: blue"&gt;lambda&lt;/span&gt;{|x|x+&lt;span style="color: red"&gt;1&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;d1.call(&lt;span style="color: red"&gt;5&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#1.9&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;中，将&lt;span lang="EN-US"&gt;lambda&lt;/span&gt;换为&lt;span lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;；参数放到花括号外边，小括号里边；花括号中只保留表达式&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;与&lt;span lang="EN-US"&gt;.net3.*&lt;/span&gt;中的&lt;span lang="EN-US"&gt;lambda&lt;/span&gt;表达式很像&lt;span lang="EN-US"&gt;()=&amp;gt;{}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;br /&gt;d2=-&amp;gt;(x){x+&lt;span style="color: red"&gt;1&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;d2.call(&lt;span style="color: red"&gt;5&lt;/span&gt;)&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;这种新句法，使代码简洁，并使代码段与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法的统一，例如：设置参数默认值。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（三）闭包&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;proc&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;lambda&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;都是闭包（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;closure&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）。闭包表示一个对象既是一个可调用的函数，同时也是绑定在这个函数上的一个变量。从表面上解释闭包就是：方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;A&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;内的方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;B&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;调用方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;A&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的变量，并返回结果。方法&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;B&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;就是闭包。它的作用：一是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;B&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法的变量可以在方法外使用；二是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;A&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法中的变量可以安全使用；三是对&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;B&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法中的值进行缓存。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（关于闭包，可以查看相关文档，我这里只是粗浅的认识。）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2131126.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2131126.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/08/2130877.html</id><title type="text">Ruby入门（2）——基本流程控制</title><summary type="text">（一）条件判断条件判断为基本式：if expression codeend表达式如果不是false或nil，则可执行code部分，所以对于else来说，如果为false或nil，则else下的代码是要执行的。要注意的是表达式与执行代码之间要有分界符：例如换行或分号或是then关键字。多条件分支情况下，除了可以用else if之外，可以用省略式：elsifif expression1 code1elsif expression2 code2else code3end如果通过then做为分界符：if expression then code end，那么可以把if直接做为分界符：code if e</summary><published>2011-08-08T05:41:00Z</published><updated>2011-08-08T05:41:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2130877.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2130877.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（一）条件判断&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;条件判断为基本式：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if expression&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;code&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;表达式如果不是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;false&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;nil&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，则可执行&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;code&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;部分，所以对于&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;else&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来说，如果为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;false&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;nil&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，则&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;else&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;下的代码是要执行的。要注意的是表达式与执行代码之间要有分界符：例如换行或分号或是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;then&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;关键字。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;多条件分支情况下，除了可以用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;else if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;之外，可以用省略式：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;elsif&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if expression1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;code1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;elsif expression2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;code2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;code3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;如果通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;then&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;做为分界符：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if expression then code end&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，那么可以把&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;直接做为分界符：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;code if expression&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，这时，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;称为表达式修饰符。先写执行再写执行条件。要注意的是：如果成为表达式修饰符，则执行代码与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;之间不能带换行符。虽然这种方式也是一种条件句，但我觉得它更像一种修饰。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对于&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;判断来说，它可以返回执行代码后的值。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;条件类似，还有&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;unless&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;判断，它和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;相反。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;C#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，多分支语句有个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;switch case&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;开关，在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，则是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;case when&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;case when&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;非常灵活。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（二）循环&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;循环条件是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;while do&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;until do&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，而位于它们之间的是循环体。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;现条件&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;相似，循环语句也可以用分界符的形式做紧凑循环，这时，省略了换行符和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;x=&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x,x+=&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;while&lt;/span&gt;&amp;nbsp;x&amp;lt;&lt;span style="color: red"&gt;10&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;while&lt;/span&gt;&amp;nbsp;x&amp;lt;&lt;span style="color: red"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;do&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;x+=&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;C#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中有&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;for&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;循环应用非常广泛，在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;for&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;循环与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;foreach&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的作用类似，用于对可枚举对象进行迭代。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;for var in collection do&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;code&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;其中&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;collection&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;是带有&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;each&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;迭代方法的对象；&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;do&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;关键字可选（可以用换行符或分号替代）。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;arr=%w[&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;6&lt;/span&gt;]&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;for&lt;/span&gt;&amp;nbsp;item&amp;nbsp;&lt;span style="color: blue"&gt;in&lt;/span&gt;&amp;nbsp;arr&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;item&amp;lt;&amp;lt;"&amp;nbsp;"&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;hash1={:a=&amp;gt;&lt;span style="color: red"&gt;1&lt;/span&gt;,:b=&amp;gt;&lt;span style="color: red"&gt;2&lt;/span&gt;,:c=&amp;gt;&lt;span style="color: red"&gt;3&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;for&lt;/span&gt;&amp;nbsp;key,value&amp;nbsp;&lt;span style="color: blue"&gt;in&lt;/span&gt;&amp;nbsp;hash1&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{key}=#{value}"&amp;lt;&amp;lt;"&amp;nbsp;"&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;end&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（三）迭代器和枚举&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;除了循环控制&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;while&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;、&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;for&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;、&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;until&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;外，有种特殊的方法用于循环，也就是迭代器，它是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;最重要的特性之一。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）数值迭代器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;upto&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：为一个区间内的所有整数调用其关联的代码块。左边为起始，右边为结束。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;downto&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;upto&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;相反。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;times&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：调用关系的代码一定的次数，且把&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;到&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;n-1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;传递给代码。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;step&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：以一定的步长，迭代增加到指定数值。第二个参数为步长。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;.upto(&lt;span style="color: red"&gt;5&lt;/span&gt;){|x|&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{x}&amp;nbsp;"}&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: red"&gt;5&lt;/span&gt;.downto(&lt;span style="color: red"&gt;1&lt;/span&gt;){|x|&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{x}&amp;nbsp;"}&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: red"&gt;3&lt;/span&gt;.times{|x|&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{x}&amp;nbsp;"}&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: red"&gt;3&lt;/span&gt;.step(&lt;span style="color: red"&gt;5&lt;/span&gt;,&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;5&lt;/span&gt;){|x|&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{x}&amp;nbsp;"}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）枚举迭代器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;each&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：将迭代元素传递给代码。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;collect&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：为调用它的枚举的每个元素执行关联代码后，组合到一起做为一个数组返回。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;select&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：为调用它的枚举的每个元素执行关联代码后，如果为真，组合到一起做为一个数组返回。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;reject&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;select&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;相反。它把为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;false&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;nil&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的元素做为一个数据返回。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;inject&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：求累积值迭代。通过两个参数调用关联代码块，第一个参数是前次调用代码块的累积值，第二个参数指调用进行迭代的下一个元素。如果有传递参数，则做为第一个参数的初始值，如果没有，则把第一次进行迭代的元素值做为初始值。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;a1=[&lt;span style="color: red"&gt;1&lt;/span&gt;,&lt;span style="color: red"&gt;2&lt;/span&gt;,&lt;span style="color: red"&gt;3&lt;/span&gt;]&amp;nbsp;&lt;br /&gt;a2=a1.map{|x|&amp;nbsp;x+&lt;span style="color: red"&gt;1&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;a3=a2.collect{|x|&amp;nbsp;x+&lt;span style="color: red"&gt;1&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;a2,a3&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#o&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;偶数&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;a5=a1.&lt;span style="color: blue"&gt;select&lt;/span&gt;{|x|x%&lt;span style="color: red"&gt;2&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;a5&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;a6=a1.reject{|x|x%&lt;span style="color: red"&gt;2&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;print&lt;/span&gt;&amp;nbsp;a6&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;br /&gt;a7=a1.inject{|sum,x|x+sum}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;a7&amp;nbsp;&lt;br /&gt;a8=a1.inject(&lt;span style="color: red"&gt;10&lt;/span&gt;){|sum,x|x+sum}&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;a8&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/jams742003/aggbug/2130877.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/08/2130877.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/08/04/2127708.html</id><title type="text">Ruby入门（1）——数据类型</title><summary type="text">（一）数值类型（1）整型整型分两种，如果在31位以内（四字节），那为Fixnum实例。如果超过，即为Bignum实例。#整型Integer以下是一些整型字面量#字面量（literal）：代码中能见到的值，数值，bool值，字符串等都叫字面量#如以下的0,1_000_000,0xa等a1=0#带千分符的整型a2=1_000_000#其它进制的表示a3=0xaputsa1,a2putsa3#putsprint都是向控制台打印字符，其中puts带回车换行符=begin这是注释，称作：嵌入式文档注释类似C#中的/**/=end（2）浮点型#浮点型f1=0.0f2=2.1f3=1000000.1puts</summary><published>2011-08-04T09:12:00Z</published><updated>2011-08-04T09:12:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/08/04/2127708.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/08/04/2127708.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（一）数值类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）整型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;整型分两种，如果在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;31&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;位以内（四字节），那为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Fixnum&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实例。如果超过，即为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Bignum&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;实例。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;整型&lt;span lang="EN-US"&gt;&amp;nbsp;Integer&amp;nbsp;&lt;/span&gt;以下是一些整型字面量&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;字面量（&lt;span lang="EN-US"&gt;literal&lt;/span&gt;）：代码中能见到的值，数值，&lt;span lang="EN-US"&gt;bool&lt;/span&gt;值，字符串等都叫字面量&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;如以下的&lt;span lang="EN-US"&gt;0,1_000_000,0xa&lt;/span&gt;等&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;a1=&lt;span style="color: red"&gt;0&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;带千分符的整型&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;a2=1_000_000&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;其它进制的表示&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;a3=0xa&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;a1,a2&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;a3&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#puts&amp;nbsp;print&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;都是向控制台打印字符，其中&lt;span lang="EN-US"&gt;puts&lt;/span&gt;带回车换行符&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: green"&gt;=begin&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;这是注释，称作：嵌入式文档注释&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;类似&lt;span lang="EN-US"&gt;C#&lt;/span&gt;中的&lt;span lang="EN-US"&gt;/**/&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: green"&gt;=end&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）浮点型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;浮点型&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;f1=&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;0&lt;/span&gt;&amp;nbsp;&lt;br /&gt;f2=&lt;span style="color: red"&gt;2&lt;/span&gt;.&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;br /&gt;f3=&lt;span style="color: red"&gt;1000000&lt;/span&gt;.&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;f3&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;浮点有个&lt;strong style="mso-bidi-font-weight: normal"&gt;圆整错误&lt;/strong&gt;，例如：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.4-0.3&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;＝＝&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;这是不等的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;C#&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中也是如此（采用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;IEEE&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;－&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;754&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;浮点的都是如此）。因为很多浮点数是用一种近似值来表示的。例如&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，它只是无限接近&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。因为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;不能用二进制精确表示。但&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;0.5&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可以。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;puts&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&amp;nbsp;&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;3&lt;/span&gt;-&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;2&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: green"&gt;#false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;8&lt;/span&gt;-&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;3&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: green"&gt;#true&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;8&lt;/span&gt;-&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;7&lt;/span&gt;==&lt;span style="color: red"&gt;0&lt;/span&gt;.&lt;span style="color: red"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: green"&gt;#false&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）算术操作&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;加减乘除操作符：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;+-*/&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;；指数操作符为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;**&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指数不必是整数，例如&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;指数算术&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;2&lt;/span&gt;**(&lt;span style="color: red"&gt;1&lt;/span&gt;/&lt;span style="color: red"&gt;4&lt;/span&gt;)&lt;span style="color: green"&gt;#1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;与&lt;span lang="EN-US"&gt;4&lt;/span&gt;的商为&lt;span lang="EN-US"&gt;0&lt;/span&gt;，然后&lt;span lang="EN-US"&gt;2&lt;/span&gt;的&lt;span lang="EN-US"&gt;0&lt;/span&gt;次方为&lt;span lang="EN-US"&gt;1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;&lt;span style="color: red"&gt;16&lt;/span&gt;**(&lt;span style="color: red"&gt;1&lt;/span&gt;/&lt;span style="color: red"&gt;4&lt;/span&gt;.&lt;span style="color: red"&gt;0&lt;/span&gt;)&lt;span style="color: green"&gt;#1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;与&lt;span lang="EN-US"&gt;4.0&lt;/span&gt;的商为&lt;span lang="EN-US"&gt;0.25&lt;/span&gt;（四分之一），然后开四次方根&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（二）字符串类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符串型可以用单引号或双引号表示。两种表式方法双引号推荐使用：双引号转义字符全；双引号中的字面量可以包含表达式。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符串内插格式为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;#{}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;name="Ruby"&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;"&lt;span style="color: green"&gt;#{name+",ok"}"&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符串分界符&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可以通过字符串分界符来定义字符串字面量。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%q&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用于单引号规则&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%Q&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用于双引号规则&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;分界符成对出现的，例如：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;()&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;{}&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，两个！！。如果使用！做为分界符，其中字面量中又出现了！号，那么，需要&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;\!&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来转义。当然，如果其中的字面量中出现了成对的分界符（其实是做为操作符出现的），那不需要转义的。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;分界符&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;s1=%Q[this&amp;nbsp;''/ssss123]&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;s1&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;字面量中有分界符，一般情况下要做转义操作&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;s2=%Q!this&amp;nbsp;''/ssss123\!\!!&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;s2&amp;nbsp;&lt;br /&gt;&lt;span style="color: green"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;字面量中有成对的分界符出现，可以不做转义&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;s3=%Q(&lt;span style="color: red"&gt;2&lt;/span&gt;*(&lt;span style="color: red"&gt;1&lt;/span&gt;+&lt;span style="color: red"&gt;1&lt;/span&gt;))&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;s3&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在大字符串字面量中，不可保证分界符不出现。在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ruby&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中支持&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;header document&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。即通过定义分界字符串来定义字面量，可大大保证成功率。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;lt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;lt;&amp;lt;-&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;紧临&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;header &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来定义，且结束段单独一行。如果通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;lt;&amp;lt;-&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来定义的，则结束行前可加空白符。例如：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"&gt;分界字符串&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;s1=&amp;lt;&amp;lt;Header&amp;nbsp;&lt;br /&gt;sdfie''''//////[]&amp;nbsp;&lt;br /&gt;Header&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;s1&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符串操作&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;号进行字符串连接。对于不是字符串的需要&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;to_s&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法进行显示转换，才能用于连接。注意的是，连接后的字符串会新建一个对象返回。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;lt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;号进行字符串连接。此操作符连接字符串，是修改左侧字符串，而不新建对象。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;*&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;号表示重复左侧字符串，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）字符串截取&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来访问字符串中的子字符串。字符串可以作为字符数组来看待。如果索引为负数，则从右向左取字符。（在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1.8&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1.9&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;访问返回的不同，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1.9&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中取的更符合习惯）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;索引访问进行赋值操作，可以替换字符。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中两个值进行访问，可以截取子字符串&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;range&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;截取子字符串。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;range&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;表示的两个都是索引，这个区别于&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中以逗号分隔的一个用于索引，另一个用于长度。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[..]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[&amp;#8230;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;其中两个点的为包含区间。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过索引字符串，来判断包含关系&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[&amp;#8220;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符串&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;#8217;]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来判断是否包含此子字符串&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（三）字符类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符类型通过？&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字符来定义。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（四）数组&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;数组字面量通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中以逗号分隔定义，且支持&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;range&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;定义。同时，数组字面量引用同&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%q&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%Q&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类似的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%w&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;%W&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;分界符。中间以空格分隔。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）数组通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;[]&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;索引访问&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;同字符串相似，数据通过索引进行访问。如果有两个数值，则一个表示索引，另一个表示元素个数&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过赋值操作插入、删除、替换元素&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，－号进行合并和删除元素，且集合做为新集合出现&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;lt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;号向原数据追加元素&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;*&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;号重复数组元素&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;6&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）通过｜和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;符号做并集和交集操作（注意顺序）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（五）哈希类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;哈希字面量由逗号分隔的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;kv&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对来定义，被包括在花括号之间，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;kv&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;=&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来定义&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: green; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;#hash&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;br /&gt;h1={"a1"=&amp;gt;&lt;span style="color: red"&gt;1&lt;/span&gt;,"a2"=&amp;gt;&lt;span style="color: red"&gt;2&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;h2={:a1=&amp;gt;&lt;span style="color: red"&gt;3&lt;/span&gt;,:a2=&amp;gt;&lt;span style="color: red"&gt;4&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;h3={a1:&lt;span style="color: red"&gt;5&lt;/span&gt;,a2:&lt;span style="color: red"&gt;6&lt;/span&gt;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;h1["a1"]&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;h2[:a1]&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;h3[:a1]&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（六）范围类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;..&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&amp;#8230;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;符号定义范围类型，它有顺序性。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（七）&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;true&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;false&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;nil&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;比较&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;nil&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;值，可以通过：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Ojb==nil&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Obj.nil?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（八）对象标识、对象的类、类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对象标识在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;1.9&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中可以通过：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;__id__&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;得到，或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;object_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对象的类：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Obj.class==String&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Obj.instance_of? String&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;x1="ok"&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x1.&lt;span style="color: blue"&gt;class&lt;/span&gt;==&lt;span style="color: blue"&gt;String&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x1.instance_of?&lt;span style="color: blue"&gt;String&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;判断是不是一种类型的实例也可通过：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;is_a?&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;===&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;x1="ok"&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x1.is_a?&lt;span style="color: blue"&gt;String&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: blue"&gt;puts&lt;/span&gt;&amp;nbsp;x1===&lt;span style="color: blue"&gt;String&lt;/span&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（九）对象冻结、污染&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;freeze&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;冻结对象，被冻结对象将不可变（所有内部状态都不可变）。如果类被冻结，则类不能添加方法。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;taint&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;污染对象，被污染的对象会成为污染源（源自它的对象都是被污染的）。通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;untaint&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;进行解除污染。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2127708.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/08/04/2127708.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/03/31/2000832.html</id><title type="text">CSP加密服务（一）</title><summary type="text">（一） 加密服务提供程序缩写为：CSP，全称为：Cryptographic Service Provider 即加密服务提供者。它是windows系统中提供的用于加密的软硬件组件。通过对微软的加密应用程序接口即CrytoAPI（或CAPI）的编程访问它来提供身份验证、编码和各种的加密、签名算法。如下图：应用程序不是直接与某个CSP通信。它会调用CAPI的函数，然后操作系统通过CrytoSPI（一个系统接口）筛选这些调用并且把这些调用传递到适合的CSP函数。然后CSP通过对参数的解析调用适当的CSP函数，最后向操作系统返回期盼值（加密操作是由特定的CSP来完成的）。每个CSP是实现全部加密操作的</summary><published>2011-03-31T04:10:00Z</published><updated>2011-03-31T04:10:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/03/31/2000832.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/03/31/2000832.html"/><content type="html">&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;（一）&lt;span style="font: 7pt 'Times New Roman'"&gt;&lt;font size="3"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;加密服务提供程序&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;缩写为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，全称为：&lt;/span&gt;&lt;a name="OLE_LINK3"&gt;&lt;span style="mso-bookmark: OLE_LINK4"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Cryptographic Service Provider&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;即加密服务提供者。它是&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;windows&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;系统中提供的用于加密的软硬件组件。通过对微软的加密应用程序接口即&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CrytoAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（或&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）的编程访问它来提供身份验证、编码和各种的加密、签名算法。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;如下图：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 'Segoe UI'; color: black; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/jams742003/csp1.gif" width="445" height="241" /&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;应用程序不是直接与某个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通信。它会调用&lt;/span&gt;&lt;a name="OLE_LINK2"&gt;&lt;/a&gt;&lt;a name="OLE_LINK1"&gt;&lt;span style="mso-bookmark: OLE_LINK2"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-bookmark: OLE_LINK2"&gt;&lt;/span&gt;&lt;span style="mso-bookmark: OLE_LINK1"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的函数，然后操作系统通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CrytoSPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;（一个系统接口）筛选这些调用并且把这些调用传递到适合的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;函数。然后&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通过对参数的解析调用适当的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;函数，最后向操作系统返回期盼值（加密操作是由特定的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来完成的）。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;每个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;是实现全部加密操作的独立模块。每个应用程序中至少需要一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;完成加密操作。对于使用多个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的情况下，在加密函数调用时需要指定&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。当然基本加密服务是默认绑定到&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的。每一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供不同的实现，例如某些实现了对硬件的支持。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;有多种类型，且数目在增加中，以下列举几种：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft Base Cryptographic Provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft Strong Cryptographic Provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft Enhanced Cryptographic Provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft AES Cryptographic Provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft DSS Cryptographic Provider&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;更多内容可见：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa386983.aspx"&gt;&lt;font face="Times New Roman"&gt;http://msdn.microsoft.com/en-us/library/aa386983.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的功能：向应用开发人员提供对基于&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;windows&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的应用程序添加验证、编码和加密的能力。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CryptoSPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的功能：将&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CryptoAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的调用传递给&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，可以理解为使用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;font face="Times New Roman"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（二）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;CryptoAPI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;全称：（&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Microsoft&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Cryptography Application Programming Interface&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;即（微软）加密应用编程接口，也缩写为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供一套安全相关的函数集合，用于加密、摘要、数字签名等。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;（三）&lt;span style="font: 7pt 'Times New Roman'"&gt;&lt;font size="3"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;密钥存储区&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;密钥可以保存在磁盘、内存或硬件密钥存储区中。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;例如：可以以文件的形式保存在磁盘中或保存在密钥容器中；也可以保存在例如智能卡硬件的密钥存储区中。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;（四）&lt;span style="font: 7pt 'Times New Roman'"&gt;&lt;font size="3"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;公钥加密&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Windows&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;密钥库&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Windows&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;系统提供两种密钥存储类型（级别）：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用户级别：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;User key store&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;存储在特定用户的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; Windows &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用户配置文件中&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;计算机级别：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;machine key store&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对于所有可以登录到计算机的用户都可用，而且可以使用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; ACL &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;限制对加密密钥信息的访问权限&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;（五）&lt;span style="font: 7pt 'Times New Roman'"&gt;&lt;font size="3"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;密钥容器&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Key container&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。密钥容器是保存密钥的最小单位，包含了密钥和其它信息。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;font face="Times New Roman"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（六）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;.net&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;.net&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CryptoServiceProvider&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;结尾的类是相应的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; CSP &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的托管代码包装类，即实现加密服务的提供者，名字空间：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;System.Security.Cryptography&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;TripleDESC&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;私钥加密为例：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_7_TripleDES()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;strContent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;123aaa&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;strKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;qwuduII*6&amp;amp;*%^&amp;amp;(90))&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TripleDESCryptoServiceProvider&amp;nbsp;DES&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TripleDESCryptoServiceProvider();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MD5CryptoServiceProvider&amp;nbsp;hashMD5&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MD5CryptoServiceProvider();&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DES.Key&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;hashMD5.ComputeHash(Encoding.UTF8.GetBytes(strKey));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DES.Mode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CipherMode.ECB;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ICryptoTransform&amp;nbsp;DESEncrypt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DES.CreateEncryptor();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;Buffer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Encoding.UTF8.GetBytes(strContent);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;sipherbytes&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DESEncrypt.TransformFinalBlock(Buffer,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;Buffer.Length);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(Encoding.UTF8.GetString(sipherbytes));&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ICryptoTransform&amp;nbsp;DESdecrypt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DES.CreateDecryptor();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;plainbytes&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DESdecrypt.TransformFinalBlock(sipherbytes,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;sipherbytes.Length);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(Encoding.UTF8.GetString(plainbytes));&lt;br /&gt;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;font face="Times New Roman"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（七）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;.net&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中的&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CspParameters&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; color: red; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: red; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CspParameters&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类，名字空间为：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;System.Security.Cryptography&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，表示可从非托管&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CrytoAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;传递到内部使用加密服务提供程序&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的托管加密类的参数，即向&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;传递执行加密操作的参数。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;它的作用：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1 &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指定特定的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CSP&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2 &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;管理密钥容器&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3 &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指定签名密钥或交换密钥&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;重要成员：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ProviderType&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：指定提供程序的类型（按数值）。如下表&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;ProviderName&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：指定提供程序的类型（按名字）。如下表&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt;background: #e0e0e0; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供程序类型&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt;background: #e0e0e0; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;数值&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RSA_FULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RSA_SIG&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_DSS&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_FORTEZZA&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 5"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_MS_EXCHANGE&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 6"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_SSL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 7"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RSA_SCHANNEL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;12&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 8"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_DSS_DH&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;13&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 9"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_EC_ECDSA_SIG&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;14&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 10"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_EC_ECNRA_SIG&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;15&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 11"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_EC_ECDSA_FULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;16&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 12"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_EC_ECNRA_FULL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;17&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 13"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_DH_SCHANNEL&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;18&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 14"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_SPYRUS_LYNKS&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;20&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 15"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RNG&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;21&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 16"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_INTEL_SEC&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;22&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 17"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_REPLACE_OWF&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;23&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 18; mso-yfti-lastrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RSA_AES&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;24&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;以&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;PROV_RSA_FULL&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类型为例：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt;background: #e6e6e6; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用途&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt;background: #e6e6e6; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;算法支持&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;KeyExchange&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;RSA&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Signature&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;RSA&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Encryption&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;RC2 RC4&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Hashing&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 142.05pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="189"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;MD5 SHA&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;更多内容可见：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa380244.aspx"&gt;&lt;font face="Times New Roman"&gt;http://msdn.microsoft.com/en-us/library/aa380244.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;KeyNumber&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：指定密钥用作签名密钥还是交换密钥。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;交换密钥是一个不对称密钥对，用于加密会话密钥，以便可以安全地存储会话密钥并与其他用户交换会话密钥。通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Exchange&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;值&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(1)&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指定交换密钥。与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中使用的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;AT_KEYEXCHANGE &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;值对应。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;签名密钥是不对称密钥对，用于对数字签名的消息或文件进行身份验证。通过&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Signature&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;值&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(2)&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指定签名密钥。与&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CAPI&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中使用的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;AT_SIGNATURE &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;值对应。默认情况下，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;KeyNumber&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字段指定交换密钥。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;对这个属性对应的有一个同名的枚举&lt;/span&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;KeyNumber&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-bottom: medium none; border-left: medium none; width: 428.4pt; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="571"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 59.4pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Exchange&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 369pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="492"&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;一个交换密钥对，用于加密会话密钥以使它们可以安全存储并与其他用户交换。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 59.4pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="79"&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Signature&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 369pt; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="492"&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;一个签名密钥对，用于对数字签名的消息或文件进行身份验证。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;KeyContainerName&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：密钥容器名。通过它可以管理密钥容器：创建、获取、释放。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;示例：密钥容器创建&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Test_9_keycontainer()&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Encoding&amp;nbsp;_encoding&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;Encoding.UTF8;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;strPlaintext&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;这是abc123!&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;bPlaintext&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_encoding.GetBytes(strPlaintext);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;bEncrypt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;bDecrypt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;创建容器&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CspParameters&amp;nbsp;cspParams&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CspParameters();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cspParams.KeyContainerName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;selfkeys&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cspParams.ProviderType&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;PROV_RSA_FULL&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;创建密钥对，并添加到容器中&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSACryptoServiceProvider&amp;nbsp;provider&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RSACryptoServiceProvider(cspParams);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;公钥加密&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSACryptoServiceProvider&amp;nbsp;_provider1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RSACryptoServiceProvider(cspParams);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bEncrypt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_provider1.Encrypt(bPlaintext,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(_encoding.GetString(bEncrypt));&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;私钥解密&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSACryptoServiceProvider&amp;nbsp;_provider2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RSACryptoServiceProvider(cspParams);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bDecrypt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_provider2.Decrypt(bEncrypt,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(_encoding.GetString(bDecrypt));&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;未完待续&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/2000832.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/03/31/2000832.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jams742003/archive/2011/03/11/1981411.html</id><title type="text">javascript 表达式、括号、常用函数和jquery库怎么样实现的分析</title><summary type="text">（一）javascript表达式表达式是什么？表达式是对变更进行赋值、更改或计算等操作的语句。它是变量、常量、操作符的综合。根据操作符的不类型，可以分为字符操作表达式、赋值表达式、逻辑表达式、关系表达式、自增自减表达式、位表达式等。例如：x+y5&gt;0A++Z=1+1另外还有一种逗号表达式：x+y,z++（二）小括号最常见的小括号的用法有好多种，并且常用。（1）函数的输入参数部分例如：function fun1()（2）语句的辅助例如：while()；if()；for()（3）类对象的构造方法Var now=new Date()（4）强制表达式运算这个作用其实也在用，但没有前边3种用得明晰</summary><published>2011-03-11T06:25:00Z</published><updated>2011-03-11T06:25:00Z</updated><author><name>梅桦</name><uri>http://www.cnblogs.com/jams742003/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jams742003/archive/2011/03/11/1981411.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jams742003/archive/2011/03/11/1981411.html"/><content type="html">&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（一）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;javascript&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;表达式&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;表达式是什么？表达式是对变更进行赋值、更改或计算等操作的语句。它是变量、常量、操作符的综合。根据操作符的不类型，可以分为字符操作表达式、赋值表达式、逻辑表达式、关系表达式、自增自减表达式、位表达式等。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;x+y&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;5&amp;gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;A++&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Z=1+1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;另外还有一种逗号表达式：&lt;span lang="EN-US"&gt;x+y,z++&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（二）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;小括号&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;最常见的小括号的用法有好多种，并且常用。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）函数的输入参数部分&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;span lang="EN-US"&gt;function fun1()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）语句的辅助&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;span lang="EN-US"&gt;while()&lt;/span&gt;；&lt;span lang="EN-US"&gt;if()&lt;/span&gt;；&lt;span lang="EN-US"&gt;for()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;3&lt;/span&gt;）类对象的构造方法&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Var now=new Date()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;4&lt;/span&gt;）强制表达式运算&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;这个作用其实也在用，但没有前边&lt;span lang="EN-US"&gt;3&lt;/span&gt;种用得明晰。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;它意思就是指：把其中的内容作为表达式强制运算后得到结果。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; color: blue; font-size: 9pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-hansi-font-family: 'Times New Roman'" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;test()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;x,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;y);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert((&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;x,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;y));&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;5&lt;/span&gt;）函数调用&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;一般情况下调用函数为函数名&lt;span lang="EN-US"&gt;+&lt;/span&gt;参数，例如：&lt;span lang="EN-US"&gt;doTest(1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;还有一种方式就是把函数名也用小括号包围起来，例如：&lt;span lang="EN-US"&gt;(doTest)(1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;这也是两个小括号的意义。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（三）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;中括号&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;中括号主要用于数组&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）可以声明空数组或赋值，例如：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; list1 = [];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; list2 = [1, 2, 3];&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）通过下标访数组元素&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;alert(list2[1]);&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;其次就是用于&lt;span lang="EN-US"&gt;kv&lt;/span&gt;对的对象，例如：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;对于&lt;span lang="EN-US"&gt;customer&lt;/span&gt;对象，有&lt;span lang="EN-US"&gt;name&lt;/span&gt;属性，那么取对象的&lt;span lang="EN-US"&gt;name&lt;/span&gt;值为：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Customer[&amp;#8216;name&amp;#8217;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（四）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;大括号&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;常用的就是语句块标识符。例如函数体，循环体等。另一种就是定义&lt;span lang="EN-US"&gt;js&lt;/span&gt;类。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;/span&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; customer = {};&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;可见：&lt;span lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/03/04/1970506.html"&gt;http://www.cnblogs.com/jams742003/archive/2011/03/04/1970506.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（五）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Eval&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;它的作用就是把字符串做为表达式进行运算，并返回值。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;详细可见：&lt;a href="http://www.cnblogs.com/jams742003/archive/2009/12/29/1634736.html"&gt;http://www.cnblogs.com/jams742003/archive/2009/12/29/1634736.html&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（六）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Void&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;计算表达式，但不返回值。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;例如：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; x = 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;void&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; (x++);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;alert(x);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;alert(&lt;span style="color: blue"&gt;typeof&lt;/span&gt; (&lt;span style="color: blue"&gt;void&lt;/span&gt; (x++)));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;alert(x);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;详细请见：&lt;a href="http://www.cnblogs.com/jams742003/archive/2010/01/13/1646631.html"&gt;http://www.cnblogs.com/jams742003/archive/2010/01/13/1646631.html&lt;/a&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（七）&lt;span style="font: 7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;Jquery&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;库定义的原理分析&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（1）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;如何通过一个变量进行访问所有成员&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;所有的成员，例如函数，变量等通过一个固定的变量访问，可以通过静态实现。那么就要创建一个类，且，类中的成员要定义为静态。所以，先试着创建一个&lt;span lang="EN-US"&gt;jQuery&lt;/span&gt;类，它的成员为静态。如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;doClick()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery.showMessage();&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;jQuery()&lt;br /&gt;{&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;jQuery.showMessage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;ok&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（2）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;jQuery&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;类可以通过另一种方式实现&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;定义&lt;span lang="EN-US"&gt;js&lt;/span&gt;类有好几种方式，其中一种叫字面量的实现方式：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;jQuery&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&amp;nbsp;{&amp;nbsp;};&lt;br /&gt;&lt;br /&gt;jQuery.showMessage&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;ok&lt;/span&gt;&lt;span style="color: #000000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（3）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;包装&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;为了避免命名冲突，现在把这个&lt;span lang="EN-US"&gt;jQuery&lt;/span&gt;类包装起来。可以考虑再放到一个类中或者通过匿名函数进行包装（其实，本义是相同的）。在现在这种情况下，要通过后者方式进行，即以匿名函数进行包装。如下：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;function()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;jQuery&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;function()&amp;nbsp;{&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery.showMessage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;function()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #800000"&gt;ok&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（4）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;设置全局访问并添加&lt;span lang="EN-US"&gt;$&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;如下：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;jQuery&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;window.jQuery&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;window.$&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&amp;nbsp;{&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery.showMessage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（5）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;让匿名函数运行&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;调用函数的方法可以通过函数名和输入参数。其中函数名也可以加小括号。那么：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;jQuery&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;window.jQuery&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;window.$&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&amp;nbsp;{&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery.showMessage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;)();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;（6）&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt"&gt;完成并调用&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; color: blue; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;doClick()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery.showMessage();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.showMessage();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jams742003/aggbug/1981411.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jams742003/archive/2011/03/11/1981411.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
