VB中的屬性 Property簡單介紹

2021-10-01 22:12:09 字數 1036 閱讀 7481

和c#中的property不同,vb中的property通過三個過程來實現:property get,property let,property set

分別為讀值,賦值,和物件型別賦值。實現的原理和property的作用和c#中並無二致,只是c#的形式更為統一,簡潔。

[public | private | friend] [static] property get p_name [(arglist)] [as type]

[statements]

[p_name = expression]

[exit property]

[statements]

[p_name = expression]

end property

property get 過程和普通的sub過程比較相似。get屬性p_name 將會在過程內得到賦值。p_name = (value)的形式。相當於c#中的屬性

get部分: return value ;由於p_name被賦值使用,所以應該有返回值。

[public | private | friend] [static] property let p_name ([arglist,] value)

[statements]

[exit property]

[statements]

end property

property let 過程的作用是給property對應的變數(設為p)賦值。相當於c#中set部分:p=value;這是乙個無返回值的過程。

[public | private | friend] [static] property set name ([arglist,] reference)

[statements]

[exit property]

[statements]

end property

properyt set 過程和property let一樣,只使let是對普通變數,set是對物件而言。vb並不是徹底的物件導向。在資料型別方面是傳統的

基本的型別和物件兩種。

python中的property屬性

property裝飾器就是負責把乙個方法變成屬性呼叫的。property定義get方法,score.setter定義score屬性的set方法 class student object def init self,score 0 self.score score property defscore ...

python中的property屬性

建立property屬性的方法有兩種,分別是裝飾器方式 和 類屬性方式。1 裝飾器方式如下 class goods def init self self.original price 100 self.discount 0.8 property def price self 此函式中只有self,不...

OC中 property的所有屬性

1,assign 簡單賦值,不更改索引計數 假設你用malloc分配了一塊記憶體,並且把它的位址賦值給了指標a,後來你希望指標b也共享這塊記憶體,於是你又把a賦值給 assign 了b。此時a 和b指向同一塊記憶體,請問當a不再需要這塊記憶體,能否直接釋放它?答案是否定的,因為a並不知道b是否還在使...