亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 047.htm

?? delphi編程
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
face="Arial" size="3">protected</font><font face="宋體" lang="ZH-CN" size="3">部分,你能使用</font><font
face="Arial" size="3">protected</font><font face="宋體" lang="ZH-CN" size="3">聲明定義開發(fā)者的接口。也就是說。對象的用戶不能訪向</font><font
face="Arial" size="3">protected</font><font face="宋體" lang="ZH-CN" size="3">部分,但開發(fā)者通過繼承就可能做到,這意味著你能通過</font><font
face="Arial" size="3">protected</font><font face="宋體" lang="ZH-CN" size="3">部分的可訪問性使部件編寫者改變對象工作方式,而又不使用戶見到這些細(xì)節(jié)。</p>
<p> ?、?lt;/font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN"
size="3">定義運(yùn)行時接口</p>
<p>  將對象的某一部分定義為</font><font face="Arial" size="3">public</font><font
face="宋體" lang="ZH-CN" size="3">可使任何代碼訪問該部分。如果你沒有對域方法或?qū)傩约右?lt;/font><font
face="Arial" size="3">private</font><font face="宋體" lang="ZH-CN" size="3">、</font><font
face="Arial" size="3">protected</font><font face="宋體" lang="ZH-CN" size="3">、</font><font
face="Arial" size="3">public</font><font face="宋體" lang="ZH-CN" size="3">的訪問控制描述。那么該部分就是</font><font
face="Arial" size="3">published</font><font face="宋體" lang="ZH-CN" size="3">。</p>
<p>  因?yàn)閷ο蟮?lt;/font><font face="Arial" size="3">public</font><font
face="宋體" lang="ZH-CN" size="3">部分可在運(yùn)行時為任何代碼訪問,因此對象的</font><font
face="Arial" size="3">public</font><font face="宋體" lang="ZH-CN" size="3">部分被稱為運(yùn)行接口。運(yùn)行時接口對那些在設(shè)計時沒有意義的項(xiàng)目,如依靠運(yùn)行時信息的和只讀的屬性,是很有用的。那些設(shè)計用來供用戶調(diào)用的方法也應(yīng)放在運(yùn)行時接口中。</p>
<p>  下例是一個顯示兩個定義在運(yùn)行時接口的只讀屬性的例子:</p>
<p> </font><font face="Arial" size="3"></p>
<p>type </p>
<p>TSampleComponent = class(TComponent)</p>
<p>private</p>
<p>FTempCelsius: Integer; { </font><font face="宋體" lang="ZH-CN" size="3">具體實(shí)現(xiàn)是</font><font
face="Arial" size="3">private } </p>
<p>function GetTempFahrenheit: Integer; </p>
<p>public</p>
<p>property TempCelsius: Integer read FTempCelsius; { </font><font face="宋體"
lang="ZH-CN" size="3">屬性是</font><font face="Arial" size="3">public }</p>
<p>property TempFahrenheit: Integer read GetTempFahrenheit; </p>
<p>end; </p>
<p> </p>
<p>function GetTempFahrenheit: Integer; </p>
<p>begin </p>
<p>Result := FTempCelsius * 9 div 5 + 32; </p>
<p>end;</p>
<p> </font><font face="宋體" lang="ZH-CN" size="3"></p>
<p>  既然用戶在設(shè)計時不能改變</font><font face="Arial" size="3">public</font><font
face="宋體" lang="ZH-CN" size="3">部分的屬性的值,那么該類屬性就不能出現(xiàn)在</font><font
face="Arial" size="3">Object Inspector</font><font face="宋體" lang="ZH-CN" size="3">窗口中。</p>
<p> ?、?lt;/font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN"
size="3">定義設(shè)計時接口</p>
<p>  將對象的某部分聲明為</font><font face="Arial" size="3">published</font><font
face="宋體" lang="ZH-CN" size="3">,該部分也即為</font><font face="Arial"
size="3">public</font><font face="宋體" lang="ZH-CN" size="3">且產(chǎn)生運(yùn)行時類型信息。但只有</font><font
face="Arial" size="3">published</font><font face="宋體" lang="ZH-CN" size="3">部分定義的屬性可顯示在</font><font
face="Arial" size="3">Object Inspector</font><font face="宋體" lang="ZH-CN" size="3">窗口中。對象的</font><font
face="Arial" size="3">published</font><font face="宋體" lang="ZH-CN" size="3">部分定義了對象的設(shè)計時接口。設(shè)計時接口包含了用戶想在設(shè)計時定制的一切特征。</p>
<p>  下面是一個</font><font face="Arial" size="3">published</font><font
face="宋體" lang="ZH-CN" size="3">屬性的例子,因?yàn)樗?lt;/font><font
face="Arial" size="3">published</font><font face="宋體" lang="ZH-CN" size="3">,因此可以出現(xiàn)在</font><font
face="Arial" size="3">Object Inspector</font><font face="宋體" lang="ZH-CN" size="3">窗口:</p>
<p> </font><font face="Arial" size="3"></p>
<p>TSampleComponent = class(TComponent) </p>
<p>private </p>
<p>FTemperature: Integer; { </font><font face="宋體" lang="ZH-CN" size="3">具體實(shí)現(xiàn)是</font><font
face="Arial" size="3"> private }</p>
<p>published</p>
<p>property Temperature: Integer read FTemperature write FTemperature; { </font><font
face="宋體" lang="ZH-CN" size="3">可寫的</font><font face="Arial" size="3"> } </p>
<p>end;</p>
<p> </font><font face="宋體" lang="ZH-CN" size="3"></p>
<p>  </font><font face="Arial" size="3">3. </font><font face="宋體" lang="ZH-CN"
size="3">派送方法</p>
<p>  派送</font><font face="Arial" size="3">(Dispatch)</font><font face="宋體"
lang="ZH-CN" size="3">這個概念是用來描述當(dāng)調(diào)用方法時,你的應(yīng)用程序怎樣決定執(zhí)行什么樣的代碼,當(dāng)你編寫調(diào)用對象的代碼時,看上去與任何其它過程或函數(shù)調(diào)用沒什么不同,但對象有三種不同的派送方法的方式。</p>
<p>  這三種派送方法的類型是:</font><font face="Arial" size="3"></p>
<p></font><font face="宋體" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">
</font><font face="宋體" lang="ZH-CN" size="3">●</font><font face="Arial" size="3"> </font><font
face="宋體" lang="ZH-CN" size="3">靜態(tài)的</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">虛擬的</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">動態(tài)的</p>
<p> </p>
<p>  虛方法和動態(tài)方法的工作方式相同,但實(shí)現(xiàn)不同。兩者都與靜態(tài)方法相當(dāng)不同。理解各種不同的派送方法對創(chuàng)建部件是很有用的。</font><font
face="Arial" size="3"></p>
<p></font><font face="宋體" lang="ZH-CN" size="3">?、?lt;/font><font face="Arial"
size="3"> </font><font face="宋體" lang="ZH-CN" size="3">靜態(tài)方法:</p>
<p>  如果沒有特殊聲明,所有的對象方法都是靜態(tài)的</font><font
face="Arial" size="3">.</font><font face="宋體" lang="ZH-CN" size="3">。靜態(tài)方法的工作方式正如一般的過程和函數(shù)調(diào)用。在編譯時,編譯器決定方法地址,并與方法聯(lián)接。</p>
<p>  靜態(tài)方法的基本好處是派送相當(dāng)快。因?yàn)橛删幾g器決定方法的臨時地址,并直接與方法相聯(lián)。虛方法和動態(tài)方法則相反,用間接的方法在運(yùn)行時查找方法的地址,這將花較長的時間。</p>
<p>  靜態(tài)方法的另一個不同之處是當(dāng)被另一類型繼承時不做任何改變,這就是說如果你聲明了一個包含靜態(tài)方法的對象,然后從該對象繼承新的對象,則該后代對象享有與祖先對象相同的方法地址,因此,不管實(shí)際對象是誰,靜態(tài)方法都完成相同的工作。</p>
<p>  你不能覆蓋靜態(tài)方法,在后代對象中聲明相同名稱的靜態(tài)方法都將取代祖先對象方法。</p>
<p>  在下列代碼中,第一個部件聲明了兩靜態(tài)方法,第二個部件,聲明了相同名字的方法取代第一個部件的方法。</p>
<p> </p>
<p></font><font face="Arial" size="3">type </p>
<p>TFirstComponent = class(TComponent) </p>
<p>procedure Move; </p>
<p>procedure Flash; </p>
<p>end;</p>
<p> </p>
<p>TSecondComponent = class(TFirstComponent) </p>
<p>procedure Move; { </font><font face="宋體" lang="ZH-CN" size="3">盡管有相同的聲明,但與繼承的方法不同</font><font
face="Arial" size="3"> } </p>
<p>function Flash(HowOften: Integer): Integer; { </font><font face="宋體" lang="ZH-CN"
size="3">同</font><font face="Arial" size="3">Move</font><font face="宋體" lang="ZH-CN"
size="3">方法一樣</font><font face="Arial" size="3"> } </p>
<p>end;</p>
<p> </font><font face="宋體" lang="ZH-CN" size="3"></p>
<p>  ⑵</font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN"
size="3">虛方法</p>
<p>  調(diào)用虛方法與調(diào)用任何其它方法一樣,但派送機(jī)制有所不同。虛方法支持在后代對象中重定義方法,但調(diào)用方法完全相同,虛方法的地址不是在編譯時決定,而是在運(yùn)行時才查找方法的地址。</p>
<p>  為聲明一個新的方法,在方法聲明后增加</font><font face="Arial"
size="3">virtual</font><font face="宋體" lang="ZH-CN" size="3">指令。方法聲明中的</font><font
face="Arial" size="3">virtual</font><font face="宋體" lang="ZH-CN" size="3">指令在對象虛擬方法表(</font><font
face="Arial" size="3">VMT</font><font face="宋體" lang="ZH-CN" size="3">)中創(chuàng)建一個入口,該虛擬方法表保存對象類所有虛有擬方法的地址。</p>
<p>  當(dāng)你從已有對象獲得新的對象,新對象得到自己的</font><font
face="Arial" size="3">VMT</font><font face="宋體" lang="ZH-CN" size="3">,它包含所有的祖先對象的</font><font
face="Arial" size="3">VMT</font><font face="宋體" lang="ZH-CN" size="3">入口,再增加在新對象中聲明的虛擬方法。后代對象能覆蓋任何繼承的虛擬方法。</p>
<p>  覆蓋一個方法是擴(kuò)展它,而不是取代它。后代對象可以重定義和重實(shí)現(xiàn)在祖先對象中聲明的任何方法。但無法覆蓋一個靜態(tài)方法。覆蓋一個方法,要在方法聲明的結(jié)尾增加</font><font
face="Arial" size="3">override</font><font face="宋體" lang="ZH-CN" size="3">指令,在下列情況,使用</font><font
face="Arial" size="3">override</font><font face="宋體" lang="ZH-CN" size="3">將產(chǎn)生編譯錯誤:</font><font
face="Arial" size="3"></p>
<p></font><font face="宋體" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">
</font><font face="宋體" lang="ZH-CN" size="3">●</font><font face="Arial" size="3"> </font><font
face="宋體" lang="ZH-CN" size="3">祖先對象中不存在該方法</font><font
face="Arial" size="3"></p>
<p></font><font face="宋體" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">
</font><font face="宋體" lang="ZH-CN" size="3">●</font><font face="Arial" size="3"> </font><font
face="宋體" lang="ZH-CN" size="3">祖先對象中相同方法是靜態(tài)的</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">聲明與祖先對象的(如名字、參數(shù))不匹配</p>
<p> </p>
<p>  下列代碼演示兩個簡單的部件。第一個部件聲明了三個方法,每一個使用不同的派送方式,第二個部件繼承第一個部件,取代了靜態(tài)方法,覆蓋了虛擬方法和動態(tài)方法。</p>
<p> </p>
<p></font><font face="Arial" size="3">type </p>
<p>TFirstComponent = class(TCustomControl)</p>
<p>procedure Move; { </font><font face="宋體" lang="ZH-CN" size="3">靜態(tài)方法</font><font
face="Arial" size="3"> } </p>
<p>procedure Flash; virtual; { </font><font face="宋體" lang="ZH-CN" size="3">虛</font><font
face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">方</font><font
face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN" size="3">法</font><font
face="Arial" size="3"> } </p>
<p>procedure Beep; dynamic; { </font><font face="宋體" lang="ZH-CN" size="3">動態(tài)虛擬方法</font><font
face="Arial" size="3"> } </p>
<p>end;</p>
<p> </p>
<p>TSecondComponent = class(TFirstComponent) </p>
<p>procedure Move; { </font><font face="宋體" lang="ZH-CN" size="3">聲明了新的方法</font><font
face="Arial" size="3"> } </p>
<p>procedure Flash; override; { </font><font face="宋體" lang="ZH-CN" size="3">覆蓋繼承的方法</font><font
face="Arial" size="3"> }</p>
<p>procedure Beep; override; { </font><font face="宋體" lang="ZH-CN" size="3">覆蓋繼承的方法</font><font
face="Arial" size="3"> } </p>
<p>end;</p>
<p> </font><font face="宋體" lang="ZH-CN" size="3"></p>
<p> ?、?lt;/font><font face="Arial" size="3"> </font><font face="宋體" lang="ZH-CN"
size="3">動態(tài)方法</p>
<p>  動態(tài)方法是稍微不同于虛擬方法的派送機(jī)制。因?yàn)閯討B(tài)方法沒有對象</font><font
face="Arial" size="3">VMT</font><font face="宋體" lang="ZH-CN" size="3">的入口,它們減少了對象消耗的內(nèi)存數(shù)量。派送動態(tài)方法比派送一般的虛擬方法慢。因此,如果方法調(diào)用很頻繁,你最好將其定義為虛方法。</p>
<p>  定義動態(tài)方法時,在方法聲明后面增加</font><font face="Arial"
size="3">dynamic</font><font face="宋體" lang="ZH-CN" size="3">指令。</p>
<p>  與對象虛擬方法創(chuàng)建入口不同的

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久电影| 国产一区二区三区久久悠悠色av| 蜜臀av一区二区在线免费观看| 国产福利一区二区三区视频在线| 99久久99久久综合| 91精品国产一区二区| 国产情人综合久久777777| 亚洲第一av色| hitomi一区二区三区精品| 欧美一级搡bbbb搡bbbb| 亚洲欧美成aⅴ人在线观看| 麻豆精品在线播放| 在线观看视频91| 国产欧美日韩另类视频免费观看| 亚洲1区2区3区视频| 极品少妇xxxx偷拍精品少妇| 欧洲国内综合视频| 国产精品天天看| 午夜影视日本亚洲欧洲精品| 高清在线观看日韩| 这里只有精品视频在线观看| 国产精品超碰97尤物18| 精品在线播放免费| 91精品国产欧美日韩| 亚洲另类在线视频| 成人av在线影院| 亚洲精品一区二区三区四区高清| 午夜亚洲福利老司机| 91网站在线播放| 亚洲国产经典视频| 国产美女娇喘av呻吟久久| 欧美一区二区三区精品| 亚洲愉拍自拍另类高清精品| 暴力调教一区二区三区| 久久蜜臀中文字幕| 免费成人结看片| 欧美精品丝袜中出| 亚洲一区二区在线免费观看视频 | 久久蜜桃一区二区| 日本v片在线高清不卡在线观看| 色婷婷av一区| 亚洲视频精选在线| 色老头久久综合| 亚洲欧美综合色| 成人免费va视频| 亚洲日本欧美天堂| 97se亚洲国产综合在线| 亚洲美女视频在线观看| 99久免费精品视频在线观看| 国产亚洲一二三区| 国产又粗又猛又爽又黄91精品| 国产精品久久久久久久久久久免费看| 国产成人精品亚洲日本在线桃色 | 国产一区二区视频在线| 国产亚洲精品精华液| 国产精品正在播放| 欧美精品一区二区在线观看| 国产在线播精品第三| 国产无一区二区| 国产91精品久久久久久久网曝门| 久久久精品日韩欧美| 国产成人午夜高潮毛片| 中国色在线观看另类| 久久精品国产亚洲一区二区三区| 欧美精品日日鲁夜夜添| 日本中文字幕不卡| 久久影院视频免费| 国产不卡在线视频| 亚洲欧美激情一区二区| 色一区在线观看| 人人超碰91尤物精品国产| 日韩欧美一卡二卡| 精品一区二区三区蜜桃| 国产午夜精品福利| 91美女片黄在线观看| 香蕉影视欧美成人| 精品国产免费一区二区三区四区 | 美女mm1313爽爽久久久蜜臀| 久久综合九色综合97婷婷女人| 国产成人一区二区精品非洲| 亚洲天堂2014| 欧美日韩一区二区欧美激情| 日韩国产欧美视频| 欧美一区二区精品久久911| 国模少妇一区二区三区| 日韩一区在线免费观看| 91国偷自产一区二区开放时间 | 国产亚洲精品免费| 一本大道综合伊人精品热热| 蜜臂av日日欢夜夜爽一区| 国产欧美精品一区二区色综合朱莉| 色综合天天综合网国产成人综合天| 亚洲电影第三页| 国产欧美一区二区三区鸳鸯浴| 91一区一区三区| 美腿丝袜在线亚洲一区| 欧美激情一区二区在线| 亚洲欧美福利一区二区| 亚洲国产精品尤物yw在线观看| 欧美一卡2卡3卡4卡| 国产精品一区二区在线看| 日韩美女视频一区| 911精品产国品一二三产区| 蜜桃久久久久久| 亚洲欧美中日韩| 日韩三级视频中文字幕| 成人免费高清在线| 视频一区视频二区中文字幕| 日韩精品资源二区在线| 成人av网站免费观看| 午夜成人免费电影| www成人在线观看| 欧美伊人久久久久久久久影院| 激情亚洲综合在线| 怡红院av一区二区三区| www久久精品| 欧美日韩综合不卡| 国产成人av电影在线观看| 亚洲午夜视频在线| 国产欧美一区二区精品秋霞影院| 欧美日韩视频第一区| 成人黄动漫网站免费app| 日本女优在线视频一区二区| 中文字幕色av一区二区三区| 欧美日本视频在线| 偷窥国产亚洲免费视频| 国产人妖乱国产精品人妖| 3d动漫精品啪啪一区二区竹菊 | 亚洲男女一区二区三区| 欧美精品一区二区久久婷婷| 欧美午夜影院一区| youjizz国产精品| 久久99精品一区二区三区三区| 天天操天天干天天综合网| 国产精品传媒视频| 国产亚洲一本大道中文在线| 欧美少妇xxx| 色香色香欲天天天影视综合网| 国产精品69久久久久水密桃| 欧美日韩国产一二三| 久久精品av麻豆的观看方式| 精品久久久三级丝袜| 色老头久久综合| 99热在这里有精品免费| 国产在线精品不卡| 亚洲综合久久久久| 亚洲视频免费在线观看| 国产精品视频免费看| 精品sm捆绑视频| 欧美日韩在线播放一区| 色网站国产精品| 成人中文字幕合集| 国产精品一区三区| 久久99精品一区二区三区| 日本不卡一区二区三区高清视频| 亚洲成人tv网| 亚洲图片有声小说| 17c精品麻豆一区二区免费| 国产欧美一区视频| 国产婷婷色一区二区三区在线| 日韩精品一区二区三区视频播放 | 丝袜美腿亚洲一区二区图片| 亚洲婷婷综合色高清在线| 中文字幕一区二区三区视频| 中文一区二区完整视频在线观看| 久久品道一品道久久精品| 精品少妇一区二区三区在线播放| 91精品在线观看入口| 欧美综合天天夜夜久久| 91福利在线观看| 一本在线高清不卡dvd| 色婷婷av一区二区| 欧美伊人久久大香线蕉综合69| 91麻豆文化传媒在线观看| 日本精品免费观看高清观看| 欧美性大战久久久| 欧美日韩精品一区二区三区四区| 欧美日韩国产影片| 欧美久久久久久久久| 日韩一二三区不卡| 精品少妇一区二区三区免费观看| 精品久久一二三区| 国产视频在线观看一区二区三区| 国产精品女主播在线观看| 中文字幕亚洲不卡| 一区二区三区四区国产精品| 亚洲午夜精品17c| 日韩精品一级二级| 黄色资源网久久资源365| 盗摄精品av一区二区三区| 91在线观看视频| 欧美日韩精品系列| 日韩久久精品一区| 国产日韩av一区| 亚洲精品国产一区二区精华液| 亚洲一二三区在线观看| 亚洲va国产va欧美va观看| 麻豆精品在线播放| 日韩电影一二三区| 国产99精品视频|