2
A
回答
3
除了Ekkehard.Horner的回答,在QTP中,也可以將Qtp函數庫(QFL)加載爲.qfl或.vbs文件。
甲function
,const
或在QFL即私人variable
,不能在另一個QFL,模塊或操作使用,而公用一個即可。
功能,常量和變量默認都是公有的:
' All public:
Dim MyVariable
Public MyOtherVariable
Const PI = 3.1415
Function GetHello
GetHello = "Hello"
End Function
Sub SayHello
MsgBox GetHello
End Sub
' All private:
Private myPrivates
Private Const HELLO = "HELLO!"
Private Function getHelloToo
getHelloToo = HELLO
End Function
Private Sub sayHelloToo
MsgBox getHelloToo
End Sub
Class Dog
Public Function Bark
Print "Bark! Bark! Bark!"
End Function
End Class
是,課總是私下模塊中。你必須從一個函數返回它,使它們公開可用:
' Placed in the same module as Class Dog
Public Function GiveMeADog
Set GiveMeADog = new Dog
End Function
2
公共和私人問題只在課堂上使用時纔會出現。在VBScript類中,這些函數在默認情況下是公共的,因此兩者之間沒有區別。使用Private可以使課程無法從課堂外進入。
3
與私有訪問性最好使用一類說明公共的概念:
Option Explicit
Class cPubPrivDemo
Public m_n1
Dim m_n2
Private m_n3
Private Sub Class_Initialize()
m_n1 = 1
m_n2 = 2
m_n3 = 3
End Sub
Sub s1()
WScript.Echo "s1 (Public by default) called"
End Sub
Public Sub s2()
WScript.Echo "s2 (Public by keyword) called"
End Sub
Private Sub s3()
WScript.Echo "s3 (Private by keyword) called"
End Sub
Public Sub s4()
WScript.Echo "(public) s4 can call (private) s3 from inside the class"
s3
End Sub
End Class
Dim oPPD : Set oPPD = New cPubPrivDemo
WScript.Echo "Can access public member variables of oPPD:", oPPD.m_n1, oPPD.m_n2
WScript.Echo "No access to oPPD's private parts:"
Dim n3
On Error Resume Next
n_3 = oPPD.m_n3
WScript.Echo Err.Description
On Error GoTo 0
WScript.Echo "Can call public subs:"
oPPD.s1
oPPD.s2
WScript.Echo "Can't call private sub .s3:"
On Error Resume Next
oPPD.s3
WScript.Echo Err.Description
On Error GoTo 0
WScript.Echo "private sub s3 can be called from inside the class:"
oPPD.s4
從腳本的輸出:
Can access public member variables of oPPD: 1 2
No access to oPPD's private parts:
Object doesn't support this property or method
Can call public subs:
s1 (Public by default) called
s2 (Public by keyword) called
Can't call private sub .s3:
Object doesn't support this property or method
private sub s3 can be called from inside the class:
(public) s4 can call (private) s3 from inside the class
s3 (Private by keyword) called
你可以看到:
- 一私有組件(變量,子;同樣適用於函數和屬性)可以從組件內部訪問(這裏是:班級)
- 公共組件可以從外部訪問(未顯示但可能似乎合理:公共內部也可以使用)
- 不明確指定訪問權限/模式(?)(m_n2, S1),默認爲「公共」
- 簡短的回答你的問題:無 - 因爲(3)
VBScript的文檔爲「公開聲明」說
聲明公共變量和分配存儲空間空間。在 類塊中聲明一個公共變量。
和
Public語句變量可用於所有 腳本的所有過程。
因此,可以研究/測試可訪問性規則是否以及如何應用於(組合)腳本(源代碼文件)。由於我對QTP處理多個源文件一無所知,因此我無法幫助您。
+0
謝謝...這是有益的 – Manaysah
相關問題
- 1. QTP處理空值與公共職能
- 2. 公共職能
- 3. 公共職能不執行
- 4. jQuery插件公共職能
- 5. 隱藏公共職能
- 6. 私人和公共職能
- 7. Laravel 4公共職能
- 8. keystonejs模式功能公共職能
- 9. Javascript命名空間和公共職能
- 10. 據稱不存在公共職能?
- 11. this-> in void公共職能
- 12. 查找未使用的公共職能
- 13. 使用前公共職能名
- 14. 公共職能之間的耦合
- 15. 打字稿:致電公共職能
- 16. 如何在在公共職能
- 17. 接口和抽象的公共職能
- 18. 無法運行JavaScript的公共職能
- 19. Android意圖在公共職能
- 20. 參數太多,以「公共職能MSGBOX ......」
- 21. jQuery插件調用內部其他公共職能的公共功能
- 22. Excel VBA中 - 通過表以公共職能
- 23. 需要幫助申報公共職能或方法
- 24. 帶有班級和公共職能的PHP搜索
- 25. 私人和公共職能有什麼區別?
- 26. 如何使用MS Access從VB6公共職能
- 27. PHP把空當值不會被髮送到公共職能
- 28. 意義的:「公共職能(INT的$ id):數組」
- 29. JavaScript的私人和公共職能和成員
- 30. 目標C - 從公共職能訪問私有變種
感謝您的所有...... – Manaysah