??xml version="1.0" encoding="utf-8" standalone="yes"?> 与佛(jng)问答 天下名山寺占l?/p>
明理者概? 施型者概?/p>
a者无? 闻者? 好妙l? ----------------------------------------------- 与佛(jng)问答 我问?jng)∶Z不给所有女子羞花闭月容颜? ?jng)曰∉只是昙花一玎ͼ用来蒙蔽世俗的眼Q?没有什麽美可以抵过一颗纯净仁爱的心(j)Q?我把它赐l每一个女子,可有她蒙上了(jin)? 我问?jng)∶世间Z有那麽多遗憾Q? ?jng)曰∶这是一个婆娑世界,婆娑既遗憾, 没有遗憾Q给你再多幸也不会(x)体会(x)快乐 ? 我问?jng)∶如何让h们的?j)不再感到孤单? ?jng)曰∶每一颗心(j)生来是孤单而残~的Q?多数带著q种D缺度过一生, 只因与能使它圆满的另一半相遇时Q?不是疏忽错过是已失L有它的资?? 我问?jng)∶如果遇到了(jin)可以爱的hQ却又怕不能把握怎麽? ?jng)曰∶留人间多少爱,qQ世千重变Q?和有情hQ做快乐事, 别问是劫是缘? 我问?jng)∶如何才能如你般睿智? ?jng)曰∶?jng)是过来hQh是未来佛(jng)Q?我也曑֦你般天真 ?br />
前两天在某h的Blog里面看到q样的{载,每闲来打开读Q总觉?j)驰?rn)Q真真是Q?
世上妙语?jng)说?
]]>
MMQ菩萨!(zhn)大慈大(zhn)Ԍh告诉我,我什么时候才能找到老公Q?br />
菩萨Q天Z可泄Ԍ冥中自有定数Q?br />
MMQ靠Q?zhn)q不是废话吗Q?br />
菩萨Q呸Q我要知道我q出Ӟ
MMQ斗战胜?jng),?zhn)当初ؓ(f)什么选择保唐僧取l?
孙?zhn)I:(x)q不是ؓ(f)?jin)搞到学历?br />
MMQ学历真的那么重要?
孙?zhn)I:(x)我一个在五指׃服刑的流氓,现在成了(jin)斗战胜佛(jng)Q你说重要不Q?br />
MMQ女娲娘娘!(zhn)ؓ(f)什么造hQ?br />
奛_Q天漏了(jin)Q我好不Ҏ(gu)补上Q不造些人,我找谁收l修费去Q?br />
MMQ那(zhn)ؓ(f)什么把人分Q?br />
奛_Q我本n不男不女Q我想知道男和女哪个厉害些?
MMQ结果呢Q?br />
奛_Q我又补?jin)一回天Q?br />
MMQ后!(zhn)当qؓ(f)什么射日?
后羿Q有Z?br />
MMQؓ(f)什么留下一个?
后羿Q他们只付了(jin)?ji)个的钱Q?br />
MMQؓ(f)什么单单留下这个?
后羿Q就是它付的钱!
MMQ织奻IZ么下嫁给董永Q?br />
l女Qؓ(f)?jin)爱情?br />
MMQ单单是q个原因Q?br />
l女Q这。。。。。?br />
MMQ还因ؓ(f)别的什么?
l女Q他有房子!
MMQ净坛者!你ؓ(f)什么喜Ƣ嫦娥?
猪八戒:(x)Ҏ(gu)?br />
MMQ那现在Z么不和她来往Q?br />
猪八戒:(x)老子现在是公务员
q是XHTML的基本结构,其命名为index.htmQ另一个记事本文档则命名ؓ(f)css.css?/font>
下面Q我们在<body></body>标签对中写入DIV的基本结构,代码如下Q?/font>
<div id="container">[color=#aaaaaa]<!--面层容?->[/color]
<div id="Header">[color=#aaaaaa]<!--面头部-->[/color]
</div>
<div id="PageBody">[color=#aaaaaa]<!--面M-->[/color]
<div id="Sidebar">[color=#aaaaaa]<!--侧边?->[/color]
</div>
<div id="MainBody">[color=#aaaaaa]<!--M内容-->[/color]
</div>
</div>
<div id="Footer">[color=#aaaaaa]<!--面底部-->[/color]
</div>
</div>
Z(jin)使以后阅M码更易,我们应该d相关注释Q接下来打开css.css文gQ写入CSS信息Q代码如下:(x)
/*基本信息*/
body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}
/*面层容?/
#container {width:100%}
/*面头部*/
#Header {width:800px;margin:0 auto;height:100px;background:#FFCC99}
/*面M*/
#PageBody {width:800px;margin:0 auto;height:400px;background:#CCFF00}
/*面底部*/
#Footer {width:800px;margin:0 auto;height:50px;background:#00FFFF}
把以上文件保存,用浏览器打开Q这时我们已l可以看到基l构?jin),q个是面的框架了(jin)?/font>
关于以上CSS的说明(详细请参考CSS2.0中文手册Q网上有下蝲Q:(x)
1、请L良好的注释习(fn)惯,q是非常重要的;
2、body是一个HTML元素Q页面中所有的内容都应该写在这标签对之内,我就不多说了(jin)Q?/font>
3、讲解一些常用的CSS代码的含义:(x)
font:12px TahomaQ?br /> q里使用?jin)羃写,完整的代码应该是Qfont-size:12px;font-family:TahomaQ说明字体ؓ(f)12像素大小Q字体ؓ(f)Tahoma格式Q?/font>
margin:0pxQ?br /> 也用了(jin)~写Q完整的应该是:(x)
margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px
?br />
margin:0px 0px 0px 0px
序??/ ?/ ?/ 左,你也可以书写为margin:0(~写)Q?br /> 以上样式说明body部分对上右下左边距ؓ(f)0像素Q如果用auto则是自动调整边距Q?/font>
另外q有以下几种写法Q?br /> margin:0px autoQ?br /> 说明上下边距?pxQ左右ؓ(f)自动调整Q?br /> 我们以后用到的padding属性和margin有许多相g处,他们的参数是一L(fng)Q?br /> 只不q各自表C的含义不相同,margin是外部距,而padding则是内部距离?/font>
text-align:center
文字寚w方式Q可以设|ؓ(f)左、右、中Q这里我它讄为居中对齐?/font>
background:#FFF
讄背景色ؓ(f)白色Q这里颜色用了(jin)~写Q完整的应该是background:#FFFFFF?br />
background可以用来l指定的层填充背景色、背景图片,以后我们用到如下格式:(x)
background:#ccc url('bg.gif') top left no-repeatQ?br />
表示Q?CCC(灰度?填充整个层,使用bg.gif做ؓ(f)背景囄Q?br />
top left
表示囄位于当前层的左上端,no-repeat表示仅显C图片大而不填充满整个层?br />
top/right/left/bottom/center
用于定位背景囄Q分别表C??/ ?/ ?/ ?/ 中;q可以?br />
background:url('bg.gif') 20px 100px;
表示X座标?0像素QY座标?00像素的精定位;
repeat/no-repeat/repeat-x/repeat-y
分别表示 填充满整个层 / 不填?/ 沿X轴填?/ 沿Y轴填充?/font>
height / width / color
分别表示高度(px)、宽?px)、字体颜?HTML色系??/font>
4、如何ə面居中Q?/font>
大家代码保存后可以看到Q整个页面是居中昄的,那么I竟是什么原因得页面居中显C呢Q?br />
是因为我们在#container中用了(jin)以下属性:(x)
margin:0 auto;
按照前面的说明,可以知道Q表CZ下边距ؓ(f)0Q左右ؓ(f)自动Q因此该层就?x)自动居中?jin)?br />
如果要让面居左Q则取消掉auto值就可以?jin),因?f)默认是居左昄的?br />
通过margin:auto我们可以轻易地使层自动居中?jin)?/font>
5、这里我只介l这些常用的CSS属性了(jin)Q其他的请参看CSS2.0中文手册?/font>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文?lt;/title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
</body>
</html>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/SmartTony/archive/2007/12/17/1944177.aspx
于是Q一场关于情感、恋爱、婚ȝl济学即兴问{拉开序幕。ؓ(f)便于阅读Q我她的提问逐条~号?
先是奛_的自我介l:(x)“我今q?8岁,我和我的h友是同班同学Q毕业于长春机电(sh)学院。几q前我和他一同来到杭州找工作Q我的工作比较理惻I在一家电(sh)表厂做设计,他的工作不太好,于是我鼓׃去考研。考取后,我供?jin)他三年Q没想现在他快毕业了(jin)Q居然提?gu)分手。后来,我才搞清楚,他在|上谈了(jin)一个刚大学毕业的女孩。我真的很痛苦,没想到几q的情感和心(j)血付诸东流Q?#8230;…”
一?#8220;我想问你Qؓ(f)什么男人L那么花心(j)Q经学能解释这个问题吗Q?#8221;
“用经学的理论,很容易解释这个问题,那就是边际效用递减。什么是辚w效用递减呢?是说一样东西当你拥有得多的时候,对你的作用就小。比方说Q你饿了(jin)Q吃W一个包子特香,W二个很香,W三个还可以Q第四个׃(jin)Q第五个吃不下,W六个看见都?ch)!也就是说W六个包子的作用为零甚至。边际效用递减Q是l济学的公理Q是整个微观l济学的支柱之一。由于边际效用递减Q从现在恋爱的角度看Q由于你们长旉的亲密接触,你的效用比不上那个网上的奛_Q我本想_(d)你就是那W六个包子,而那个女孩却是第一个包子,然而,话到嘴边又吞?jin)回去?j)。这也是许多的男Zؓ(f)什么家有美貌如qdQ却要在茶酒吧L姐的经学理由?#8221;
二?#8220;既然辚w效用递减是公理,那么Z么花?j)的女h却比较少Q我惌的是Qؓ(f)什么很听说女?j)而不断去扄人故事?假定辚w效用递减成立的话Q那么女Z应该不断地在外面扄人养情夫Q可是实际上q样的故事比较少Q?#8221;奛_昑־有些不太服气?
“花心(j)的男人应该和花心(j)的女Z样多Q一个花?j)的男h必定要找一个花?j)女人。假定花?j)的男h没有花心(j)的女人相呼应Q那么男人又到哪里去花心(j)Q准地_(d)应该是结?jin)婚的女Z花心(j)的比较少Q但qƈ不等于说Q边际效用递减在结?jin)婚的女n上不起作用。结?jin)婚的女人在内?j)深处未必没有喜欢更英俊更q轻更富有男性的念头Q只是一般她们不?x)采取采p动,q里的道理可以用l济学的成本收益Ҏ(gu)来分析?#8221;
“成本收益Ҏ(gu)Q像?x)计一栯成品的利润率Q?#8221;奛_有些疑惑?
“在经学的假设中Qh都是理性的Qh们采取一行动都要在?j)里盘算g倹{假如说收益大于成本Q这L(fng)才值得考虑dQ假如成本大于收益,那是无论如何不会(x)d的!从我们的日常观察中可以看刎ͼ已婚男h花心(j)Q相对于已婚女h其成本是比较低廉的,最多是花几个小钱,很少有妻子因Z夫花?j)而坚册d的,外界甚至q会(x)慕他的艳遇与能qӀ就是要离婚,男h也许正好水推舟Q说不定找个更年L亮的Q假定已婚女子有U杏出墙打算Q心(j)中必定会(x)做一番权衡:(x)q样做g|一般来_(d)已婚奛_花心(j)一旦被发现Q其成本是非帔R昂的。对大部分男人(包括很花?j)的男hQ来_(d)戴绿帽子是无论如何不能忍受的Q离婚是必然的选择Q而离婚女子在现在的世俗眼里,名声肯定又是不好的;要想再找对象Q也很难再找C自己q龄总男hQ一般只能找比自己大得多的男人,q在?j)理上又很难接受Q如果是l济不独立的奛_Q离婚后的生zd~少?jin)经来源;q有对子女的牉|Q又使女人多?jin)一分负担。正是因为已婚女子红杏出墙的成本q大于收益,所以尽有辚w效用递减的公理存在,但她们仍然会(x)做出坚决不红杏出墙的理性选择。有一U现象可以反衬我解释的合理性,你看Q花?j)的男h一般找的二奶、情人大都是q离家乡的未婚女孩子?#8221;
三、女子神情愤怒:(x)“可是他也太不讲道德了(jin)Q毕业之前他吃我的用我的Q现在快毕业?jin)却和我分手Q是不是也太?jng)侩了(jin)?他要是三q前提出分手Q我q没有这么难q,现在我是(ch)两空Q?#8221;
“l济学一般ƈ不研IP因ؓ(f)道d要求的是多ؓ(f)他h着惻I而经学理论的前提却人都是自利的。假定一个h要散钱财,甘愿贫困潦倒,落街头Q这用经学是没法解释的Q也u理学、心(j)理学或者哲学可以解释这个问题。不q,l济学可以解释他Z么三q前不提出分手,临近毕业却坚册分手Q?#8221;
奛_似懂非懂地点?jin)点Q让我接着说?
“l济学认为,人在U束条g下都是追求利益最大化的。大学时期与你谈恋爱Q那个时候生zd本无忧,q求Ȁ情就是恋爱利益的最大化Q三q读研之中,你们之间Ȁ情已l没有了(jin)Q但是此时他?j)中的最大利益是Z(jin)获取文凭以便日后能找个好工作Q此Ӟ如果和你一刀两断Q经来源就没有?jin),请问他怎么能把书读完?现在他(f)q毕业开始实?fn)?jin)Q他对自q前途已l充满了(jin)信心(j)Q更不象当初那样急迫地等着qQ于是,q青漂亮而充满激情又成了(jin)他恋爱利益的最大化?#8221;
四?#8220;……我当初只是想Q如果他能读个研I生毕业Q我们今后一家h的生zM(x)更好些,没想到现在竹打水一场空Q?#8221;奛_无可奈何地叹?jin)一口气?
“q说明你在决定供他读研之前,忘记?jin)经学的一条基本原则?#8221;
“什么原则?”
“收益高Q风险越大!你当时只看到?jin)供他读研毕业后的收益,却没有看Cȝ毕业后的风险。一般来_(d)收益高的事情,意味着风险也越大。假定你找个拉黄包R的,风险基本没有Q他不会(x)与你dQ甚臛_你百依百,但是收益也很,家庭的经来源肯定要以你ZQ你带出d加应酬也?x)觉得很没面子;假定你找了(jin)李泽楷QhU至王老五Q收益肯定会(x)很高Q比如说l你一W钱或者婚C绝对很风光Q但是离婚的可能性也许是癑ֈ百!因ؓ(f)像李泽楷q样的稀~源是每个女h都喜Ƣ的Q?#8221;
五?#8220;那有什么办法可以控刉险呢Q?#8221;奛_急切地问道?
“有哇Q打l婚证哪Q我个h认ؓ(f)Q结婚与理想中的爱情是没有多大关pȝQ?#8216;问世间情Z物,直教人生ȝ许!’如果按照大家都认可的q句话来理解Q爱情就是ؓ(f)他(她)(j)生ؓ(f)他(她)(j)歅R也是_(d)如果他爱你,Z生ؓ(f)他死都|如果他不׃Q你׃定会(x)d他的Q因Zzȝ的目的就是ؓ(f)?jin)他Q没有结婚证岂不更方便!然而,人类却要设计一个结婚登记制度,Z么?其实Q结婚证是婚姻当事Zp的护nW。如果当初你和他领了(jin)l婚证,他现在要分手没那么Ҏ(gu)?jin),或者说成本大得多。首先,婚姻法规定,夫妻d有过错的一方要Ҏ(gu)q错的一方进行经补偿;其次Q他?x)面?gu)多的舆论谴责和心(j)理压力;再次Q他今后在社?x)上的Ş象就是一个离q婚的男人,L未婚的纯真少q要差;最后,如果你们有了(jin)孩子Q那有?jin)共同的利益Q离婚就意味着他要攑ּ血脉亲情?#8221;
六?#8220;q一条方法现在恐怕是来不?qing)?jin)Q?#8230;…我全部的希望都寄托在他的w上Q没惛_全部落空?jin),真是希望大Q失望越大!我现在感觉到天都塌下来了(jin)Q?#8221;奛_很有感慨?
“希望大Q失望也大Q其实也是符合经学道理的。经学有一个公式:(x)q福=效用/期望倹{一般来_(d)同样的事物效用大致是相当的,但是期望D高,则幸感少。D个例子:(x)假定我和乞丐都捡C(jin)1元钱Q?元钱的作用对两h来说是一L(fng)Q比方说可以C白c饭。但是,我现在的期望是去国夏威夷去度假Q需?0万元Q?除以10万,l果我的q福感是十万分之一Q而乞丐的期望值是今天能够吃碗白米饭,1除以1Q结果他的幸感?00%。你把全部的希望都寄托在他的w上Q也是期望D似无I大Q而现在他却要和你吹,效用接近于零Q分母无I大Q分子接q零Q那q福感当然就没有?jin)。所?一开始对男友期望g高的人,分手时痛苦也׃多?#8221;
七?#8220;我现在应该怎么办?”
“你现在对qg事的感觉何如Q?#8221;
“痛不Ʋ生Q?#8221;
“那就再去找找他,动之以情或许q有挽救哇?”
“他现在的还是在犹UQ而且他的家h也在l他施加压力Q可是我也不惛_ZQ万一他勉强和我结婚,婚后他却Ҏ(gu)不好Q我岂不是更痛苦Q?#8221;
“从经学的角度来看,你还是应该去的?#8221;
“Z么?”
“假如你给老板做完?jin)一份设计,报酬?0万元Q但付酬方式有两U可供你选择。一U是一ơ性付10万,另一U是付你15万,但却要分15q给Q你选哪一U?”
奛_很快抢答Q?#8220;我选第一U?#8221;
“Z么呢Q?#8221;我反问?
“因ؓ(f)未来的不定因素太多Q天知道几年后这个钱q有没有Q再_(d)到那个时候,׃不值钱?jin)?#8221;
“你说得很对!现在的钱比未来的钱更值钱Q那么同L(fng)道理Q现在的痛苦比未来的痛苦更痛苦。因为,未来的不定因素太多Q也许没有了(jin)痛苦Q也许比现在的痛苦要轻,但现在的痛苦却是实实在在的。再退一步说Q就你不与他结婚,你又能肯定能扑ֈ一个对你绝对真?j)的人?你们俩毕竟有很深的感情基Q就q样攑ּ?jin)也实在可惜Q也许结?jin)婚Q特别是有了(jin)孩子Q你们也许能够过上幸生zȝQ你看很多电(sh)视电(sh)׃都有怼的情节,当初的恋人都后?zhn)一时气D断l了(jin)关系Q以臛_后又后?zhn)莫?qing)Q旧情重l?#8221;
八?#8220;万一勉强l了(jin)婚,婚后他又Ҏ(gu)不好呢?”
“那就又回C(jin)前面的原则:(x)收益高Q风险越高。你既然惌得高收益Q就必须面对高风险,此事不可能有两全Ҏ(gu)Q?#8221;
“我明白了(jin)Q杭州我׃下了(jin)Q直接去上v找他?#8221;奛_g是大d(zhn)!
……
ơ日清晨QR抵上P我们怺道别。望着她的背媄(jing)Q心(j)里沉思:(x)不知昨夜的婚恋经学理论是否真的能拨开她心(j)中的q雾Q又惻I如果能让更多的少男少x得一些婚恋中l济学的道理Q或许在恋爱婚嫁的过E中p走一些弯路!于是Q回到家中,整理思AQ奋W疾书,遂成此文?
计划框架建立?Java 定时器框架类的基之上。因此,在解释如何用计划框架以?qing)如何实现它之前Q我们将首先看看如何用这些类q行计划?/font>
惛_一个煮蛋计时器Q在数分钟之后(q时蛋煮好了(jin)Q它?x)发出声x醒?zhn)。清?1 中的代码构成?jin)一个简单的煮蛋计时器的基本l构Q它?Java 语言~写Q?/font>
清单 1. EggTimer c?/p>
package org.tiling.scheduling.examples;
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("Your egg is ready!");
// Start a new thread to play a sound...
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
EggTimer 实例拥有一?Timer 实例Q用于提供必要的计划。用 start() Ҏ(gu)启动煮蛋计时器后Q它?yu)p划了(jin)一?TimerTaskQ在指定的分钟数之后执行。时间到?jin),Timer 在后台调用 TimerTask ?start() Ҏ(gu)Q这?x)它发出声韟뀂在取消计时器后q个应用E序׃(x)中止?/p>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/cxhzqhzq/archive/2008/12/30/3645423.aspx
计算机出C后,U学家相l开发了(jin)多种语言Q从smalltalkQPascalQBasicQC语言QC++Qjava,.net{等Q这些语a的发展步伐,可以看作是从面向q程向面向对象发展的一D历双Ӏ很多面向对象的书在介绍自己的历史的时候,都会(x)l读者介l这一D历Ԍq吹OO~程是多么多么的优异。问题是Q很多刚开始学E序的hҎ(gu)不知道ؓ(f)什么要有这个{变,他们也很隄解OO语言中的虚函敎ͼ接口{概念到底ؓ(f)?jin)什么而提出来?/font>
我们在了(jin)解这一D历史以前,首先l大家介l一个概念—?#8220;_度”Q什么是_度Q作者认为所谓粒度其实就是一个程序中使用代码单元的组合尺度,我们可以举一个例子,沙砾——砖块——房屋模板,我们设想MZ座房子,其实有很多中修筑Ҏ(gu)Q如果你不闲ȝ(ch)Q可以用沙砾一点点地徏{,或者将沙砾烧制为砖块,用砖块来砌,甚至直接从工厂购买房屋的门,H,墙组件来堆砌。这三种不同的方法代表了(jin)三种不同的组合尺度。沙砾是最的单位Q用它搭徏的房子说不定还可以Q但是毫无疑问,我们必须使用很多很多“沙砾”Q不便于理Q砖块比沙砾聚合?jin)一层,可以用来修徏较大的房子了(jin)Q房屋模板是最高的寸Q用它可以快速地搭徏大规模的房屋。这三种度的区别和联系Q与我们~写E序概念是有很大的相g处的?/font>
在早期学?fn)PascalQ老师告诉我们q种面向q程语言的最基本的单元是q程和函敎ͼ它们是程序中的最的lg。过E和函数可以实现最基本的代码重用,当我们把某些固定功能的代码用过E和函数~写后,我们可以在程序中调用它们而不必在M需要的地方都写上这样一D代码,q样的好处是显而易见的。在一些小型的E序里面Q用过E和函数是合适的Q但是在大中型程序中Q它们的弊端显C出来,q程和函数的_度太低?jin),如果我们一个系l,?0000个函数和q程Q我们的E序员将不得不花费大量的旉d扑֒l护它们Q?0000个没有Q何关pȝ函数和过E的理隑ֺ是显而易见的Q就好像10000个h的企业一P如果没有部门和职务,q还不ؕ?jin)套Q!
面向对象语言的出玎ͼ是Z(jin)解决q个问题Q别听OO语言吹的天花乱坠Q其实它出现׃ؓ(f)一个理由——提高编E的_度。面向对象语a的基本单位是cCLASSQ类装?jin)很多数据成员和成员函数Q过E,最组件的提高?jin)一个等U,我们需要直接操作的不是q程和函C(jin)Q而是一个个更高层次上的cR我们把10000人分?jin)很多部门,不同的部门负责不同的事宜Q这样公司终于可以走上正轨了(jin)?/font>
做成?jin)类CLASS是否׃事大吉了(jin)呢?不一定,新的问题随之而来Q也许我们有一个部门的人很多,可以做很多事情,如何在部门内部实现更好的理呢?好比我们有一个类Q它提供?jin)很多种?gu)和属性,q些Ҏ(gu)和属性其实可以分Z堆堆Qؓ(f)不同的功能服务,但是我们的类q没有做q个理。在AOU,map对象拥有很多功能Q比如管理图层,理元素Q管理选择集,q行地图昄Q每U不同的功能都有好多Ҏ(gu)和属性,现在q些属性和Ҏ(gu)是杂乱无章,没有M区别堆积在一个类里面的,当我们的E序员需要寻找一个方法的时候,不得不一个个d找,很不方便?/font>
q个时候,接口interface出现?jin),C++的发明者第一ơ提出纯虚函敎ͼ其实是接口Q概늚时候,遭到?jin)很多抵Ӟ很多人都不明白接口的意义何在Q我们用虚函数好好的Q何必又出来个啥东西都没有的I架子?说它是类吧,又不能实C生一个对象;说它是对象吧Q又没有Ҏ(gu)体来使用。接口出来干?jin)一件好事,是类内部q行分类。对于map对象Q我们可以做好几个接口,q些接口中定义不同功能的Ҏ(gu)Q函数和属性,mapcd现这些接口,q样我们可以使用接口定义Q实现对象。因此,所谓接口就是一pd相关Ҏ(gu)与属性集合的定义?/font>
Dim pGraphicsContainer as iGraphicsContainer
pGraphicsContainer=application.document.ActiveView.focusMap
pGraphicsContainer可以使用的属性和Ҏ(gu)只能是它定义的那部分了(jin)Q而不能用管理元素等的接口定义的Ҏ(gu)和属性,那我们如何用其它的功能呢?q就是所谓的QI(Query Interface)功能。从一个接口查询另一个接口?/font>
Dim pGeoFeatureLayer as iGeofeatureLayer
pGeoFeatureLayer= pGraphicsContainer QI
好了(jin)Q我们罗嗦了(jin)q么多,已经走进?jin)COM的概念了(jin)Q在正式介绍COM以前我们得最后罗嗦一点:(x)计算a的发展历Ԍ其实是一部不断提高组件粒度的历史Q不断提高代码重用的历史。以前我们用过E和函数Q后来我们用类Q现在我们用接口,都是Z(jin)一个目的,让我们操作的lg在具体和抽象之间L一个^衡点。太具体?jin),如过E和函数Q就没有?jin)框Ӟ太抽象,如类Q就无法分别?/font>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/carlbiao/archive/2009/04/18/4088934.aspx
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class WeatherReport {
/**
* 获取SOAP的请求头Qƈ替换其中的标志符号ؓ(f)用户输入的城?br />
*
* ~写者:(x)王景?br />
*
* @param city
* 用户输入的城?jng)名U?br />
* @return 客户要发送给服务器的SOAPh
*/
private static String getSoapRequest(String city) {
StringBuilder sb = new StringBuilder();
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body> <getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">"
+ "<theCityName>" + city
+ "</theCityName> </getWeatherbyCityName>"
+ "</soap:Body></soap:Envelope>");
return sb.toString();
}
/**
* 用户把SOAPh发送给服务器端Qƈq回服务器点q回的输入流
*
* ~写者:(x)王景?br />
*
* @param city
* 用户输入的城?jng)名U?br />
* @return 服务器端q回的输入流Q供客户端读?br />
* @throws Exception
*/
private static InputStream getSoapInputStream(String city) throws Exception {
try {
String soap = getSoapRequest(city);
if (soap == null) {
return null;
}
URL url = new URL(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Length", Integer.toString(soap
.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"http://WebXml.com.cn/getWeatherbyCityName");
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* Ҏ(gu)务器端返回的XMLq行解析
*
* ~写者:(x)王景?br />
*
* @param city
* 用户输入的城?jng)名U?br />
* @return 字符??分割
*/
public static String getWeather(String city) {
try {
Document doc;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = getSoapInputStream(city);
doc = db.parse(is);
NodeList nl = doc.getElementsByTagName("string");
StringBuffer sb = new StringBuffer();
for (int count = 0; count < nl.getLength(); count++) {
Node n = nl.item(count);
if(n.getFirstChild().getNodeValue().equals("查询l果为空Q?)) {
sb = new StringBuffer("#") ;
break ;
}
sb.append(n.getFirstChild().getNodeValue() + "#\n");
}
is.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 试?br />
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(getWeather("长沙"));
System.out.println("po&oi".split("&").length) ;
System.out.println("##".split("#").length) ;
}
}