﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-花生的BLOG-文章分类-JAVA语言基础</title><link>http://www.blogjava.net/supernaturalmagician/category/20813.html</link><description>一切皆有可能</description><language>zh-cn</language><lastBuildDate>Tue, 20 Mar 2007 17:07:25 GMT</lastBuildDate><pubDate>Tue, 20 Mar 2007 17:07:25 GMT</pubDate><ttl>60</ttl><item><title>一些面向对象的设计法则之五(转载)</title><link>http://www.blogjava.net/supernaturalmagician/articles/105030.html</link><dc:creator>花生</dc:creator><author>花生</author><pubDate>Tue, 20 Mar 2007 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/supernaturalmagician/articles/105030.html</guid><wfw:comment>http://www.blogjava.net/supernaturalmagician/comments/105030.html</wfw:comment><comments>http://www.blogjava.net/supernaturalmagician/articles/105030.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supernaturalmagician/comments/commentRss/105030.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supernaturalmagician/services/trackbacks/105030.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 法则								#5								：								Liskov								替换法则（								LSP								）																																																																														使用指向基类（超类）的引用的函数，必...&nbsp;&nbsp;<a href='http://www.blogjava.net/supernaturalmagician/articles/105030.html'>阅读全文</a><img src ="http://www.blogjava.net/supernaturalmagician/aggbug/105030.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supernaturalmagician/" target="_blank">花生</a> 2007-03-20 16:45 <a href="http://www.blogjava.net/supernaturalmagician/articles/105030.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些面向对象的设计法则之四(转载)</title><link>http://www.blogjava.net/supernaturalmagician/articles/105028.html</link><dc:creator>花生</dc:creator><author>花生</author><pubDate>Tue, 20 Mar 2007 08:42:00 GMT</pubDate><guid>http://www.blogjava.net/supernaturalmagician/articles/105028.html</guid><wfw:comment>http://www.blogjava.net/supernaturalmagician/comments/105028.html</wfw:comment><comments>http://www.blogjava.net/supernaturalmagician/articles/105028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supernaturalmagician/comments/commentRss/105028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supernaturalmagician/services/trackbacks/105028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 法则								#4								：开放－封闭法则（								OCP								）																																软件组成实体应该是可扩展的，但是不可修改的。																																																						[ S...&nbsp;&nbsp;<a href='http://www.blogjava.net/supernaturalmagician/articles/105028.html'>阅读全文</a><img src ="http://www.blogjava.net/supernaturalmagician/aggbug/105028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supernaturalmagician/" target="_blank">花生</a> 2007-03-20 16:42 <a href="http://www.blogjava.net/supernaturalmagician/articles/105028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些面向对象的设计法则之三(转载)</title><link>http://www.blogjava.net/supernaturalmagician/articles/105027.html</link><dc:creator>花生</dc:creator><author>花生</author><pubDate>Tue, 20 Mar 2007 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/supernaturalmagician/articles/105027.html</guid><wfw:comment>http://www.blogjava.net/supernaturalmagician/comments/105027.html</wfw:comment><comments>http://www.blogjava.net/supernaturalmagician/articles/105027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supernaturalmagician/comments/commentRss/105027.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supernaturalmagician/services/trackbacks/105027.html</trackback:ping><description><![CDATA[
		<h1>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">法则</span>
								<span lang="EN-US">#3</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">：针对接口编程，而非（接口的）实现</span>
						</font>
				</font>
		</h1>
		<p class="MsoNormal">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<b>
										<i>
												<span lang="EN-US" style="FONT-SIZE: 15pt; mso-bidi-font-size: 10.5pt">[ Program To An Interface, Not An Implementation ]</span>
										</i>
								</b>
								<span lang="EN-US" style="FONT-SIZE: 15pt; mso-bidi-font-size: 12.0pt">
										<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
										<o:p>
										</o:p>
								</span>
						</font>
				</font>
		</p>
		<h2>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">
						<font style="BACKGROUND-COLOR: #ffffff" color="#000000">接口</font>
				</span>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i>
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">接口</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是一个对象在对其它的对象进行调用时所知道的方法集合。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">一个对象可以有多个接口（实际上，接口是对象所有方法的一个子集）</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i>
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">类型</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是对象的一个特定的接口。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">不同的对象可以具有相同的类型，而且一个对象可以具有多个不同的类型。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">一个对象仅能通过其接口才会被其它对象所了解。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">某种意义上，接口是以一种非常局限的方式，将“是一种</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">”表达为“一种支持该接口的</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">”。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l14 level1 lfo18; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">接口是实现插件化（</span>
								<span lang="EN-US">pluggability</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）的关键</span>
						</font>
				</font>
		</p>
		<h2>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">
						<font style="BACKGROUND-COLOR: #ffffff" color="#000000">实现继承和接口继承</font>
				</span>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i>
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">实现继承</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">（<i>类继承</i>）：一个对象的实现是根据另一个对象的实现来定义的。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i>
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">接口继承</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">（<i>子类型化</i>）：描述了一个对象可在什么时候被用来替代另一个对象。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">C++</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">的继承机制既指类继承，又指接口继承。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">C++</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">通过继承纯虚类来实现接口继承。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Java</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">对接口继承具有单独的语言构造方式－</span>
								<span lang="EN-US">Java</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">接口。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Java</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">接口构造方式更加易于表达和实现那些专注于对象接口的设计。</span>
						</font>
				</font>
		</p>
		<h2>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">
						<font style="BACKGROUND-COLOR: #ffffff" color="#000000">接口的好处</font>
				</span>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">优点：</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span lang="EN-US">Client</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">不必知道其使用对象的具体所属类。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">一个对象可以很容易地被（实现了相同接口的）的另一个对象所替换。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">对象间的连接不必硬绑定（</span>
								<span lang="EN-US">hardwire</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）到一个具体类的对象上，因此增加了灵活性。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">松散藕合（</span>
								<span lang="EN-US">loosens coupling</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">增加了重用的可能性。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">提高了（对象）组合的机率，因为被包含对象可以是任何实现了一个指定接口的类。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">缺点：</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; mso-list: l10 level1 lfo21; tab-stops: list 42.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">F<span style="FONT: 7pt 'Times New Roman'">        </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">设计的复杂性略有增加</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">（译者注：接口表示“</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">像</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">”（</span>
								<span lang="EN-US">LikeA</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）的关系，继承表示“</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">”（</span>
								<span lang="EN-US">IsA</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）的关系，组合表示“</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">有</span>
								<span lang="EN-US">…</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">”（</span>
								<span lang="EN-US">HasA</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）的关系。）</span>
						</font>
				</font>
		</p>
		<h2>
				<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">
						<font style="BACKGROUND-COLOR: #ffffff" color="#000000">接口实例</font>
				</span>
		</h2>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">/**<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>* Interface IManeuverable provides the specification<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>* for a maneuverable vehicle.<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>*/<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="mso-tab-count: 1">   <font face="Courier New" size="2">  </font></span>
										<font face="Courier New">
												<font size="2">
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">interface</span>
														<span style="COLOR: teal">IManeuverable<o:p></o:p></span>
												</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> left();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> right();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> forward();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> reverse();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> climb();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> dive();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> setSpeed(<span style="COLOR: blue">double</span> speed);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">double</span> getSpeed();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>}<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">class</span>
														<span style="COLOR: teal">Car<o:p></o:p></span>
												</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">implements</span> IManeuverable { <span style="COLOR: green">// Code here. }<o:p></o:p></span></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">class</span>
														<span style="COLOR: teal">Boat<o:p></o:p></span>
												</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">implements</span> IManeuverable { <span style="COLOR: green">// Code here. }<o:p></o:p></span></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">class</span>
														<span style="COLOR: teal">Submarine<o:p></o:p></span>
												</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">implements</span> IManeuverable { <span style="COLOR: green">// Code here. }</span></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>
								<font style="BACKGROUND-COLOR: #ffffff" color="#000000"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l11 level1 lfo20; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">该方法是指其它的一些类可以进行交通工具的驾驶，而不必关心其实际上是什么（汽车，轮船，潜艇）或者其在什么继承架构里面。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<font face="Courier New">
						<font size="2">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
														<span style="mso-tab-count: 1">     </span>
												</span>
												<font face="Courier New">
														<span lang="FR" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: FR; mso-no-proof: yes">public</span>
														<span lang="FR" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: FR; mso-no-proof: yes">
																<span style="COLOR: blue">void</span> travel(IManeuverable vehicle)<o:p></o:p></span>
												</font>
										</font>
								</font>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<font face="Courier New">
						<font size="2">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<span lang="FR" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: FR; mso-no-proof: yes">
														<span style="mso-tab-count: 1">     </span>
												</span>
												<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">{<o:p></o:p></span>
										</font>
								</font>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>vehicle.setSpeed(35.0);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>vehicle.forward();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>vehicle.left();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 2">         </span>vehicle.climb();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font size="2">
										<font color="#000000">
												<font style="BACKGROUND-COLOR: #ffffff">
														<span style="mso-tab-count: 1">     </span>}</font>
										</font>
								</font>
						</font>
				</span>
		</p>
<img src ="http://www.blogjava.net/supernaturalmagician/aggbug/105027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supernaturalmagician/" target="_blank">花生</a> 2007-03-20 16:39 <a href="http://www.blogjava.net/supernaturalmagician/articles/105027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些面向对象的设计法则之二(转载)</title><link>http://www.blogjava.net/supernaturalmagician/articles/105019.html</link><dc:creator>花生</dc:creator><author>花生</author><pubDate>Tue, 20 Mar 2007 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/supernaturalmagician/articles/105019.html</guid><wfw:comment>http://www.blogjava.net/supernaturalmagician/comments/105019.html</wfw:comment><comments>http://www.blogjava.net/supernaturalmagician/articles/105019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supernaturalmagician/comments/commentRss/105019.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supernaturalmagician/services/trackbacks/105019.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 法则										#2										：优先使用（对象）组合，而非（类）继承																																																																												[ Favor Composition Over Inheritance ]													...&nbsp;&nbsp;<a href='http://www.blogjava.net/supernaturalmagician/articles/105019.html'>阅读全文</a><img src ="http://www.blogjava.net/supernaturalmagician/aggbug/105019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supernaturalmagician/" target="_blank">花生</a> 2007-03-20 16:22 <a href="http://www.blogjava.net/supernaturalmagician/articles/105019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些面向对象的设计法则之一(转载)</title><link>http://www.blogjava.net/supernaturalmagician/articles/JAVA.html</link><dc:creator>花生</dc:creator><author>花生</author><pubDate>Tue, 20 Mar 2007 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/supernaturalmagician/articles/JAVA.html</guid><wfw:comment>http://www.blogjava.net/supernaturalmagician/comments/105009.html</wfw:comment><comments>http://www.blogjava.net/supernaturalmagician/articles/JAVA.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supernaturalmagician/comments/commentRss/105009.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supernaturalmagician/services/trackbacks/105009.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="TEXT-ALIGN: center; mso-layout-grid-align: none" align="center">
				<b>
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="FONT-SIZE: 26pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 18.0pt; mso-hansi-font-family: 'MS Sans Serif'">
												<br />一些<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
								</font>
						</font>
				</b>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<b>
										<span style="FONT-SIZE: 26pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 18.0pt; mso-hansi-font-family: 'MS Sans Serif'">面向对象的<br /><br />设计</span>
								</b>
								<b>
										<span style="FONT-SIZE: 26pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 18.0pt; mso-hansi-font-family: 'MS Sans Serif'">法则<span lang="EN-US"><o:p></o:p></span></span> </b>
						</font>
				</font>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 26pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 18.0pt; mso-hansi-font-family: 'MS Sans Serif'">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<o:p> </o:p>
										</font>
								</font>
						</span>
				</b>
		</p>
		<p class="MsoHeading7" align="center">
				<strong>
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span lang="EN-US">Bob Tarr </span>
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">著</span>
								</font>
						</font>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: center" align="center">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<b>
										<span lang="EN-US" style="FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt">outmyth </span>
								</b>
								<b>
										<span style="FONT-SIZE: 16pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">译</span>
								</b>
								<b>
										<span lang="EN-US" style="FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt">
												<o:p>
												</o:p>
										</span>
								</b>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: center" align="center">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<b>
										<span lang="EN-US" style="FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt">mahope </span>
								</b>
								<b>
										<span style="FONT-SIZE: 16pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">校</span> </b>
						</font>
				</font>
				<span lang="EN-US">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<o:p> </o:p>
								</font>
						</font>
				</span>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">
				<br style="PAGE-BREAK-BEFORE: always; mso-special-character: line-break" clear="all" />
		</span>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l22 level1 lfo24; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">
										<o:p> </o:p>
								</span>
						</font>
				</font>
		</p>
		<h1>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">法则</span>
								<span lang="EN-US">#1</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">：将类和成员的可访问性最小化</span>
						</font>
				</font>
		</h1>
		<p class="MsoNormal">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<b>
										<i>
												<span lang="EN-US" style="FONT-SIZE: 15pt; mso-bidi-font-size: 10.5pt">[Minimize The Accessibility of Classes and Members]</span>
										</i>
								</b>
								<span lang="EN-US" style="FONT-SIZE: 15pt; mso-bidi-font-size: 12.0pt">
										<o:p>
										</o:p>
								</span>
						</font>
				</font>
		</p>
		<h2>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">抽象</span>
								</i>
								<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">的含义</span>
						</font>
				</font>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Tony Hoare: “</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">抽象</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">起源于对真实世界中的对象、事态、过程之间的相似性的认识，以及在聚集这些相似性的同时忽略差异性的决心</span>
								<span lang="EN-US">” </span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Grady Booch: “</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">抽象</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">表示一个对象区别与其他类别的对象的本质特征，从而相对于观察者的角度来说，为其提供了明确定义的概念边界</span>
								<span lang="EN-US">”</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">抽象</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是处理复杂事物的基本方法之一；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">抽象</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">关注对象的外部视图并将其行为与它的实现隔离开来。</span>
						</font>
				</font>
		</p>
		<h2>
				<i style="mso-bidi-font-style: normal">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">封装</span>
										<span lang="EN-US">
												<o:p>
												</o:p>
										</span>
								</font>
						</font>
				</i>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Grady Booch: “</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">封装</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是划分<i style="mso-bidi-font-style: normal">抽象</i>的元素的过程，这些元素构成了<i style="mso-bidi-font-style: normal">抽象</i>的结构和行为；封装的功能是将<i style="mso-bidi-font-style: normal">抽象</i>的契约接口与其实现分开</span>
								<span lang="EN-US">”</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">Craig Larman: “</span>
								<i style="mso-bidi-font-style: normal">
										<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">封装</span>
								</i>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">是隐藏对象的数据、内部结构和实现细节的机制。所有与对象的交互都是通过公共操作这个接口</span>
								<span lang="EN-US">”</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">类应该是不透明的；</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">类不应暴露其内部实现细节。</span>
						</font>
				</font>
		</p>
		<h2>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US">Java</span>
								<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">中的信息隐藏</span>
						</font>
				</font>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">尽可能第使用私有成员和相应的访问器</span>
								<span lang="EN-US">/</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">修改器（</span>
								<span lang="EN-US">accessors and mutators</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">）</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">举例：</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">替换</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<font face="Courier New" size="2"> public double speed;</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">为</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="mso-tab-count: 1">     </span>
										<font face="Courier New">
												<font size="2">
														<span style="COLOR: blue">private</span>
														<span style="COLOR: blue">double</span> speed;<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">double</span> getSpeed()<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">return</span> (speed);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>}<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> setSpeed(<span style="COLOR: blue">double</span> newSpeed)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>speed = newSpeed;<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; mso-para-margin-left: 2.0gd">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<font face="Courier New" size="2">}</font>
								</font>
						</font>
				</span>
		</p>
		<h2>
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">使用访问器</span>
								<span lang="EN-US">/</span>
								<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">修改器，而不是共有成员</span>
						</font>
				</font>
		</h2>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">你可以在值上附加约束条件</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="mso-spacerun: yes">     </span>
										<font face="Courier New">
												<font size="2">
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> setSpeed(<span style="COLOR: blue">double</span> newSpeed)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>
														<span style="COLOR: blue">if</span> (newSpeed &lt; 0)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 3">              </span>sendErrorMessage(...);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 3">              </span>newSpeed = <span style="COLOR: teal">Math</span>.abs(newSpeed);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>}<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>speed = newSpeed;<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>}</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">如果使用你的类的用户直接访问类的字段，那么他们也会担负检查约束条件的责任</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">你可以改变类的内部表示而不用改变接口</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="mso-tab-count: 1">    <font face="Courier New" size="2"></font></span>
										<span style="COLOR: green">
												<font face="Courier New">
														<font size="2">// Now using metric units (kph, not mph)<o:p></o:p></font>
												</font>
										</span>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> setSpeedInMPH(<span style="COLOR: blue">double</span> newSpeed)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>speedInKPH = convert(newSpeed);<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>}<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">void</span> setSpeedInKPH(<span style="COLOR: blue">double</span> newSpeed)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>speedInKPH = newSpeed;<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>}</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">你可以执行任意的附加效果</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font color="#000000">
								<font style="BACKGROUND-COLOR: #ffffff">
										<span style="mso-tab-count: 1">  <font face="Courier New" size="2">   </font></span>
										<font face="Courier New">
												<font size="2">
														<span style="COLOR: blue">public</span>
														<span style="COLOR: blue">double</span> setSpeed(<span style="COLOR: blue">double</span> newSpeed)<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>{<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>speed = newSpeed;<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 2">         </span>notifyObservers();<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes">
						<font face="Courier New">
								<font color="#000000">
										<font style="BACKGROUND-COLOR: #ffffff">
												<font size="2">
														<span style="mso-tab-count: 1">     </span>}<o:p></o:p></font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo14; tab-stops: list 21.0pt">
				<font color="#000000">
						<font style="BACKGROUND-COLOR: #ffffff">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
										<span style="mso-list: Ignore">n<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">如果使用你的类的用户直接访问类的字段，那么他们也会担负执行附加效果的责任</span>
						</font>
				</font>
		</p>
<img src ="http://www.blogjava.net/supernaturalmagician/aggbug/105009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supernaturalmagician/" target="_blank">花生</a> 2007-03-20 15:59 <a href="http://www.blogjava.net/supernaturalmagician/articles/JAVA.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>