早期的(early)和後期裝訂(late binding)的區別

早期繫結和後期繫結是與多型性相關的兩個概念。早期繫結發生在編譯時,後期繫結發生在執行時。早期繫結和後期繫結的關鍵區別在於早期繫結使用類資訊來解析方法呼叫,而後期繫結使用物件來解析方法呼叫。...

關鍵區別——早期綁定與後期綁定

早期綁定和後期綁定是與多態性相關的兩個概念。早期綁定發生在編譯時,後期綁定發生在運行時。早期綁定和後期綁定的關鍵區別在於早期綁定使用類信息來解析方法調用,而後期綁定使用對象來解析方法調用。

Java等編程語言支持面向對象編程(OOP)。它是一種允許使用對象構造程序或軟件的範例。軟件中有多個對象。這些對象彼此連接並使用方法傳遞消息。每個物體都有特性和行為。特徵由屬性或屬性描述。這些行為是用方法描述的。對象學生可以具有諸如姓名、年齡等特徵,並用屬性表示。目標學生可以有學習、閱讀等行為,並用方法來表徵。OOP的一個主要支柱是多態性。它允許一個對象以多種方式表現。早期綁定和後期綁定是多態性中的兩個概念。重載方法是使用早期綁定綁定綁定的。重寫的方法使用後期綁定進行綁定。

目錄

1.概述和主要區別
2. 什麼是早期綁定
3. 什麼是延遲綁定
4. 早期和晚期綁定的相似性
5. 並排比較-早期與晚期以表格形式裝訂
6. 摘要

什麼是早期綁定(early binding)?

在早期綁定中,類信息用於解析方法調用。早期綁定發生在編譯時。它也被稱為靜態綁定。在這個過程中,綁定發生在程序實際運行之前。重載方法是使用早期綁定綁定綁定的。參考以下程序。

早期的(early)和後期裝訂(late binding)的區別

圖01等級計算

 

早期的(early)和後期裝訂(late binding)的區別

圖02:早期綁定的主程序

根據上面的程序,Calculation類包含一個接受兩個整數值的add方法和一個接受兩個雙精度值的add方法。在主程序中,將創建類型為Calculation的對象。當向add方法傳遞兩個整數時,它將調用接受兩個整數的add方法。當向add方法傳遞兩個double值時,它將調用與兩個double值對應的方法。這個綁定過程發生在編譯時。所有需要的信息在運行前就知道了,提高了程序的效率和執行速度。

什麼是後期裝訂(late binding)?

在後期綁定中,對象用於解析方法調用。延遲綁定發生在運行時。它也被稱為動態綁定。在這個過程中,綁定發生在程序執行時。重寫的方法使用後期綁定進行綁定。參考以下程序。

早期的(early)和後期裝訂(late binding)的區別

圖03:形狀等級

 

早期的(early)和後期裝訂(late binding)的區別

圖04:圓類

 

早期的(early)和後期裝訂(late binding)的區別

圖05:三角形類

 

早期的(early)和後期裝訂(late binding)的區別

圖06:後期裝訂主程序

根據上面的程序,類形狀有一個繪製方法。類圓類和三角形類擴展了形狀類。因此,這兩個類可以繼承Shape類的屬性和方法。Shape類是基類。類是派生類和圓類。類圓和類三角形也有自己的實現的draw方法。因此,Shape類中的draw方法被派生類的draw方法重寫。

在主程序中,創建一個Shape類型的參考變量s。在編譯時,編譯器將只引用基類draw方法。在運行時,將執行不同的繪製方法。首先,s將指向Shape類型的對象。因此,調用了Shape類的draw方法。然後s將指向Circle類型的對象,並調用Circle類的draw方法。最後,s將指向Triangle類型的對象,並調用Triangle類中的draw方法。方法的調用取決於對象。因此,該對象用於解決後期綁定中的方法調用。綁定所需的信息是在運行時提供的,因此與早期綁定相比,執行速度較慢。

什麼是早期綁定與後期綁定的相似性(the similarity between early binding and late binding)?

  • 早期綁定和後期綁定都與多態性有關,多態性是OOP的支柱。

早期綁定(early binding)和後期裝訂(late binding)的區別

早期綁定與後期綁定
使用類信息來解析在編譯時發生的方法調用的過程稱為早期綁定。 使用對象來解析在運行時發生的方法調用的過程稱為後期綁定。
裝訂時間
早期綁定發生在編譯時。 延遲綁定發生在運行時。
功能
早期綁定使用類信息來解析方法調用。 後期綁定使用對象來解析方法調用。
同義詞
早期綁定也稱為靜態綁定。。 後期綁定也稱為動態綁定。
發生
重載方法是使用早期綁定綁定綁定的。 重寫的方法使用後期綁定進行綁定。
執行速度
早期綁定的執行速度更快。 後期綁定的執行速度較低。

總結 - 早期的(early) vs. 後期裝訂(late binding)

OOP通常用於軟件開發。OOP的一個主要支柱是多態性。早綁定和晚綁定都與此相關。早期綁定發生在編譯時,後期綁定發生在運行時。在方法重載中,使用早期綁定進行綁定。在方法重寫中,使用後期綁定進行綁定。早期綁定和後期綁定的區別在於,早期綁定使用類信息來解析方法調用,而後期綁定使用對象來解析方法調用。

引用
  • 發表於 2020-10-19 04:05
  • 閱讀 ( 52 )
  • 分類:科技

你可能感興趣的文章

早疫病(early blight)和馬鈴薯晚疫病(late blight of potato)的區別

...,馬鈴薯早疫病有利於溫暖的溫度。 圖01:番茄葉片上的早期枯萎病 晚疫病是危害馬鈴薯生產的重要病害。馬鈴薯發生早疫病時,植株下部和較老的葉片上可以看到小的黑斑。 什麼是馬鈴薯晚疫病(late blight of potato)? 晚疫病是...

  • 發佈於 2020-10-12 05:42
  • 閲讀 ( 57 )

前期(prophase)和中期(metaphase)的區別

...的順序 前期發生在間期和中期之間。 中期發生在前期和後期之間。 總結 - 前期(prophase) vs. 中期(metaphase) 細胞分裂主要經歷三個階段,即間期、M期和胞質分裂。在間期,細胞透過積累營養、合成蛋白質和複製DNA為細胞分裂做...

  • 發佈於 2020-10-18 16:26
  • 閲讀 ( 45 )

壓倒一切(overriding)和c中的過載#(overloading in c#)的區別

...性或後期繫結。 過載稱為編譯時多型性、靜態多型性或早期繫結。 總結 - 壓倒一切(overriding) vs. c中的過載#(overloading in c#) 重寫和過載是多型性的兩種型別。在C中重寫和過載的區別在於,被重寫方法呼叫對其定義的繫結發生在...

  • 發佈於 2020-10-18 23:50
  • 閲讀 ( 52 )

靜態繫結(static binding)和動態繫結(dynamic binding)的區別

...在靜態繫結中,繫結由編譯器在編譯時解析。它也被稱為早期繫結。繫結發生在程式實際執行之前。靜態繫結發生在方法過載中。參考下面用Java編寫的程式。 公共空隙計算{ 公共無效金額(int x,int y){ System.out.println(“和為...

  • 發佈於 2020-10-19 17:49
  • 閲讀 ( 93 )

一般的(general)和特異性轉錄因子(specific transcription factors)的區別

...(specific transcription factors)? 特**轉錄因子是位於DNA序列中的區域。它們大多不是增強劑就是抑制劑。特**轉錄因子是模板DNA鏈中進行轉錄的特**順式作用元件。這些特定的增強子和抑制劑的啟用透過改變DNA分子的方向或作為訊號區...

  • 發佈於 2020-10-19 18:45
  • 閲讀 ( 56 )

書(book)和小冊子(booklet)的區別

...個非常相似的詞,但它們在大小上是有區別的。書是一種裝訂成冊的出版物,有相當多的頁數。小冊子通常被認為是一本少頁、少封面的小冊子。因此,書和小冊子之間的主要區別可以稱為它們的頁數。 什麼是一本書(a book)? ...

  • 發佈於 2020-10-19 20:51
  • 閲讀 ( 55 )

原木質部(protoxylem)和中間木質部(metaxylem)的區別

...生長過程中發育。此外,初生木質部有兩部分:原木質部和後木質部。原木質部和後木質部都起源於初生階段的前形成層。原木質部先發生,後次生木質部。 目錄 1. 概述和主要區別 2. 什麼是原木質部 3. 什麼是後木質部 4. 原木...

  • 發佈於 2020-10-21 18:29
  • 閲讀 ( 71 )

活動站點(active site)和結合位點(binding site)的區別

...是蛋白質。活性位點是酶上底物可以結合以進行化學反應的區域。這個特定區域還有一個結合位點和一個催化位點。因此,結合位點只輔助配體與大分子的結合,而活性位點則同時協助配體與大分子的結合,同時讓大分子發生催...

  • 發佈於 2020-10-22 05:58
  • 閲讀 ( 85 )

後期(anaphase)和末期(telophase)的區別

...姐妹染色體拉向細胞的兩極。在後期有兩個運動-“後期A和後期B”。 圖01:後期 動粒在“後期A”被拉向兩極,而在“後期B”中兩極分開導致細胞伸長。在微管的幫助下,這兩種運動同時發生。 什麼是末期(telophase)? 終末期是...

  • 發佈於 2020-10-23 16:36
  • 閲讀 ( 43 )

後期i(anaphase i)和後期ii(anaphase ii)的區別

後期I和後期II的關鍵區別在於,在後期I,同源染色體被分離並被拉向相反的兩極,而在後期II,姐妹染色單體被分離並被拉向細胞的相反的兩極。 有絲分裂和減數分裂是發生在細胞中的兩種形式的核分裂。由於有絲分裂的結...

  • 發佈於 2020-10-24 13:37
  • 閲讀 ( 59 )
賊帥的樓主
賊帥的樓主

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦