Solidity
為什麼 VRFConsumerBaseV2(vrfCoordinator) 在建構子聲明中?
我是 Solidity 的新手,正在學習 Patrick Collins 的線上課程。在下面的程式碼中,我想知道為什麼
VRFConsumerBaseV2(vrfCoordinator)
在建構子聲明中包含。我認為函式聲明只包括修飾符和可見性之類的東西。constructor(uint64 subscriptionId) VRFConsumerBaseV2(vrfCoordinator) { COORDINATOR = VRFCoordinatorV2Interface(vrfCoordinator); LINKTOKEN = LinkTokenInterface(link); s_owner = msg.sender; s_subscriptionId = subscriptionId; }
您正在編寫的契約正在實施(擴展/繼承自)
VRFConsumerBaseV2
。這不是一個函式聲明——事實上你已經註意到它是一個有點不同的建構子聲明。在solidity 中,建構子可以使用您提到的這種語法來實例化父類。
請參閱此處的文件。
您所指的這種特定樣式使用派生建構子的修飾符。它類似於正常函式上的修飾函式,但不同之處在於它們用於建構子中,而建構子是正常函式的子類型。