共找到3條詞條名為object的結果 展開

object

相關變數和方法的軟體集

對象object是經常用於模仿現實世界中我們身邊的一些對象。

軟體對象


軟體對象實際上是現實世界對象的造型,因為它同樣有狀態和行為。一個軟體對象利用一個或者多個變數來維持它的狀態。變數是由用戶標識符來命名的數據項。軟體對象用它的方法來執行它的行為。方法是跟對象有關聯的函數(子程序)。
對象是理解面向對象技術的關鍵。用戶在學習之前可以看看現實生活中的對象,比如狗、桌子、電視、自行車等等。用戶可以發現現實世界中的對象有兩個共同特徵:它們都有狀態和行為。比如狗有自己的狀態(比如名字、顏色、生育以及飢餓等等)和行為(比如搖尾巴等等)。同樣自行車也有自己的狀態(比如當前檔位、兩個輪子等等)和行為(比如剎車、加速、減速以及改變檔位等等)。

應用

你可以利用軟體對象來代表現實世界中的對象。你可能想用一個動畫程序來代表現實世界中的狗,或者用可以控制電子自行車的程序來代表現實世界的自行車。同樣你可以使用軟體對象來造型抽象的概念,比如,事件是一個用在GUI窗口系統的公共對象,它可以代表用戶按下滑鼠按鈕或者鍵盤上的按鍵的反應。
軟體對象的公共可視代表
軟體對象的公共可視代表
如圖1是一個軟體對象的公共可視代表。軟體對象的狀態和行為都可以用在對象中的變數和方法來表達。構造現實世界的自行車的軟體對象要有指示自行車的當前狀態的變數:速度為20mps,它的當前檔位為第三檔。這些變數就是我們熟知的實例變數,因為它們包含了用於特殊自行車對象的狀態,並且在面向對象技術中,特殊的對象稱為實例。如圖2所示,是作為軟體對象的自行車造型。除了變數,軟體自行車同樣有用於剎車、改變踏板步調以及改變檔位的方法。這些方法就是熟知的實例方法因為它們檢查或者改變特殊自行車實例的狀態。
以上的對象圖顯示了對象的變數組成了圓心部分。方法處在變數的四周並且在程序中從其它對象隱藏了對象的核心。用保護方法的方法來包裝對象的變數稱為封裝。這個對象圖就是對象理想的表示法,也是面向對象系統設計者努力的最後目標。然而這並不是全部的內容。通常,出於某種現實的理由,對象可能暴露它的一些變數或者隱藏一些方法。在JAVA編程語言中,一個對象可以為變數和方法指定四種訪問等級中的一種。這個訪問等級決定哪個對象和類可以訪問變數或者方法。

軟體集

總述
在JAVA中訪問變數和方法可以轉換為控制訪問類的成員函數。封裝相關的變數和方法到一個簡潔的軟體集是一個簡單而且強有力的方法。

模塊性

對象的源代碼可以獨立於其它的對象源代碼來進行編寫和維護。同樣,對象可以很容易地在系統中傳遞。你可以將你的自行車對象給其它的對象,它仍然可以正常工作。

信息隱藏

一個對象如果有一個公共的界面,那麼其它的對象就可以與之進行通訊。這個對象可以維護私人的信息和方法,它可以在任何時候被改變而不影響依賴於它的其它對象。所以你不必理解自行車中齒輪的機理就可以使用它。

創建原因

自定義對象本身不會自動地在代碼中加入新功能。通常情況下,為達到相同的效果,可以使用另一種不涉及創建對象的方法。這些對象所能做的就是使複雜的操作看起來更簡單,使複雜的應用程序更加具有自我說明性和可維護性,使需要幾小時才能編完代碼的程序對您自己和其他程序員而言可重複利用性更強。實際上,創建自定義對象是一種將代碼包裝起來供其他 Microsoft® Visual Basic® for Applications (VBA)程序員使用的方法,因為與其指出如何調用您的代碼,不如使他們能象使用任何內置對象一樣使用您的自定義對象。您可以創建完整的自定義對象模型,這些模型在後台有複雜的代碼,但顯示給程序員的應只是相對簡單和直觀的對象語法。事實上,這就是所有 Microsoft® Office 和 VBA 對象模型為您所做的一切,它們把複雜的操作包裝在易於使用的對象、方法、屬性和事件中。例如,當您將 Microsoft® Excel 對象的 Visible 屬性設為 False 時,不必擔心 VBA、Excel 和 Windows 如何協作以隱藏該對象。您可以把精力集中在創建應用程序這一更高目標上
簡單性和可重複利用性自然要有代價。創建自定義對象和對象模型需要一種思考方法,這種方法比起您在 VBA 中已經習慣的那種編程思考方法是不同的,甚至可能是革命性的不同。掌握它會花一些時間。但從長遠來看,用對象編代碼可以提高效率,磨練設計技巧,更容易重複利用代碼,從而能使您成為更好的程序員。

定義用法


定義一個嵌入的對象。請使用此元素向您的 XHTML 頁面添加多媒體。此元素允許您規定插入 HTML 文檔中的對象的數據和參數,以及可用來顯示和操作數據的代碼。
標籤用於包含對象,比如圖像、音頻、視頻、Java applets、ActiveX、PDF 以及 Flash
object 的初衷是取代 img 和 applet 元素。不過由於漏洞以及缺乏瀏覽器支持,這一點並未實現。
瀏覽器的對象支持有賴於對象類型。不幸的是,主流瀏覽器都使用不同的代碼來載入相同的對象類型。
而幸運的是,object 對象提供了解決方案。如果未顯示 object 元素,就會執行位於 之間的代碼。通過這種方式,我們能夠嵌套多個 object 元素(每個對應一個瀏覽器)。

實例


向 HTML 代碼添加一個對象:

瀏覽器支持


幾乎所有主流瀏覽器都擁有部分對 標籤的支持。

提示


註釋:<param> 標籤定義用於對象的 run-time 設置。
註釋:不要對圖像使用 標籤,請使用 標籤代替。

屬性


可選的屬性
屬性描述DTD
alignleftrighttopbottom定義圍繞該對象的文本對齊方式。TF
archiveURL由空格分隔的指向檔案文件的 URL 列表。STF
borderpixels定義對象周圍的邊框。TF
classidclass ID定義嵌入 Windows Registry 中或某個 URL 中的類的 ID 值,STF
codebaseURL定義在何處可找到對象所需的代碼,提供一個基準 URL。STF
codetypeMIME type通過 classid 屬性所引用的代碼的 MIME 類型。STF
dataURL定義引用對象數據的 URL。STF
declaredeclare定義此對象僅可被聲明STF
heightpixels定義對象的高度。STF
hspacepixels定義對象周圍水平方向的空白。TF
nameunique_name為對象定義特定的名稱(以便在腳本中使用)。STF
standbytext定義當對象正在載入時所顯示的文本。STF
typeMIME_type定義被規定在 data 屬性中指定的文件中出現的數據的 MIME 類型。STF
usemapURL規定與對象一同使用的客戶端圖像映射的 URL。STF
vspacepixels定義對象的垂直方向的空白。TF
widthpixels定義對象的寬度。STF
標準屬性
id, class, title, style, dir, lang, xml:lang,ref,contenteditable,irrelevant,draggable,tabindex
事件屬性
accesskey, tabindex, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup。
  • 目錄