Bitcoin-Core

介面如何在比特幣核心中使用和工作?

  • November 15, 2022

有一個名為 interfaces的目錄。我在其他地方看到過介面類的用法,但從未理解它們是如何工作的,因為它們只是一個普通的介面,因此它們自己什麼都不做。有人可以解釋他們在程式碼中的工作機制嗎?

介面類只提供 API 定義。

例如,interface::Wallet該類聲明了一個虛擬interfaces::Wallet::getWalletTxs()方法,GUI 程式碼可以呼叫該方法來列出錢包交易。錢包程式碼提供了一個wallet::WalletImpl繼承自該方法的類interfaces::Wallet並提供了wallet::WalletImpl::getWalletTxs()該方法的實現。

由於介面定義,GUI程式碼可以通過介面呼叫錢包程式碼,而無需連結到錢包程式碼,甚至不必執行在同一個程序中。

引用自:https://bitcoin.stackexchange.com/questions/115991