l          Overloads用法:

‘test的第一個同名函式

Public Overloads Function test(num as integer) as integer

        test = num * num

End Function

 

‘test的第二個同名函式

Public Overloads Function test(str as string) as string

        test = str & str

End Function

 

l          Overrides用法:

建立一個Class

Class JustTest

        兩個屬性

        Public num1 As Integer

        Public num2 As Integer

       

        一個method

        Public Overridable Function Add() As Integer

                Add=num1+num2

        End Function

End Class

 

建立一個Class繼承自JustTest

Class JustTest1

        Inherits JustTest

       

        Public result As Integer

       

        Public Overrides Function Add() As Integer

                result=num1+num2

        End Function

End Class

 

PS.使用Overrides的條件為父子的型別需要相同,如需完全取代則用Shadows

 


 

l          MSDN上的說法:

 

Protected

Dim 陳述式中的 Protected 關鍵字將項目宣告為只能從相同類別或從該類別衍生的類別中存取。下列程式碼顯示 Protected 宣告範例:

Protected Class ClassForMyHeirs

您只能在類別層級中,而且只能在宣告類別的成員時,使用 Protected

 

Friend

Dim 陳述式中的 Friend 關鍵字將項目宣告為可從相同專案中存取,但無法從專案以外存取。下列程式碼顯示 Friend 宣告範例:

Friend StringForThisProject As String

您只能在模組、命名空間或檔案層次中使用 Friend。這表示您可以在原始程式檔或模組、類別或結構中宣告 Friend 項目,但不可以在程序內。

 

Protected Friend

Dim 陳述式中一起出現的 Protected Friend 關鍵字將項目宣告為可在衍生的類別或相同的專案,或兩者當中使用。下列程式碼顯示 Protected Friend 宣告範例:

Protected Friend StringForProjectAndHeirs As String

您只能在類別層級中,而且只能在宣告類別的成員時,使用 Protected Friend

 

 



l          OMG的說法:

privateprotectedpublic三者的作用是在定義class成員的開放性

也就是說你可不可以直接去取用這個class內的成員。

設定為private屬性的成員只能被class本身的成員函數存取

你不能在class外的敘述中使用。

而設定為public的成員,則可以開放給程式內部的所有敘述。

至於protected,它跟private一樣也限制只有class內的成員函數可以使用,

不過除此之外,它也開放給繼承class作存取。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料