如何編程我的類模塊以便可以調用屬性屬性?VBA OOP如何製作子屬性
我不確定我使用了正確的術語,所以我會盡力澄清。在MsAccess中,只要我想操作表單上的元素,我就可以使用句點來分隔每個對象。例如,如果我想改變文本框的值,我可以打電話:
form("formname").txtboxname.value = "new value"
所以它就像我有了,有一個值對象文本框對象的窗體對象。
我怎麼能在我自己的班級模塊中實現這一點。
我的具體例子是,我已經在類中的私有變量中存儲數組,但我不能簡單地使用Property GET來返回數組。 (我不想公開它,因爲數組是以編程方式填充的)但是如果我想迭代,我需要知道該數組的Ubound和Lbound值。
我寧願避免必須將Ubound和Lbound值存儲在自己的變量中,因爲這看起來很浪費。
我怎麼能以某種方式編程該類以獲得一個?子類?
所以,如果我想的UBOUND或LBOUND我可以打電話給像
set x = mycls
debug.? x.pArrayVariable.getLBound
即使是正確的術語來什麼,我試圖做可以讓我更接近答案,我試着搜索爲屬性和子屬性,但我不知道這讓我在某個地方。我班的
例子:mycls
Private pArrayVariable() as string
public property get pArrayVariable() as string
'Run Code to Populate array here
Array() = pArray()
end property
一些所謂的 「收藏」 我要問什麼?
表單中的文本框是不是一個子類的聲明,這是類的成員。您可能正在尋找的術語是「組合」。該表單由其他對象組成。這是我們在OOP中實現重用的方法之一。您的問題的其餘部分我不太瞭解。 「集合」就是這樣 - 對象的集合。表單不是一個集合。數組是一種集合。你可以有一系列的表格,也就是一組表格。 – rism 2014-12-05 01:43:31
...和'Value'是一個Variant屬性,而不是一個對象 – 2014-12-05 02:19:22
如果你想調用「Properties on Properties」,那麼第一個Property調用將需要返回一個對象,它本身具有屬性 – 2014-12-05 05:21:25