C 類的函式成員之普通方法和屬性

2021-09-29 07:10:45 字數 1935 閱讀 6851

c#類的函式成員

共分為以下幾種:

建構函式

析構函式

類的方法

類的靜態方法

屬性運算子

索引器

一、方法

乙個類中包含很多形形色色的方法。它與普通的方法很類似。

class

mathtest

public

static

intgetsquareof

(int x)

//靜態方法

public

static

double

getpi()

//靜態方法

}

二、屬性

屬性的概念是:它是乙個方法或一對方法,它可以對欄位進行讀和寫或者唯讀不寫,只寫不讀。

為什麼需要屬性?

當我們相對字段進行操作時,在顯示中往往有一些約束。

例如我們想對字段age賦值時希望其值大於0小於150.

例如我們想對某欄位只能讀不能寫

例如我們相對乙個私有字段進行訪問但不想破壞私有性

class myclass

//經過這種方式就可以返回私有欄位age的值了

set//經過這種方式可以設定私有欄位age,注意這裡的value預設的一種規範

}private

int age2;

public

int age2

set}

}//使用

console.

writeline

(myclass.age)

;//將age輸出,注意使用的時候需要用age不是age

myclass.age=

200;

//因為age是私有資料成員本不能賦值的,但是因為有屬性在,就可以利用屬性進行賦值和讀取了。

console.

writeline

(myclass.age)

;//重新的輸出age,這裡的age就是200

由上面的**我們可以看出來,這裡的age是私有資料成員,正常情況是不可能對其進行賦值的,但是有屬性的作用下我們可以進行賦值。整個過程是這樣的。myclass.age=200;是會呼叫public int age屬性。首先會將200賦值給value。然後執行屬性中的set,將value的值賦值給age即完成了賦值的操作。同理,讀取的時候回執行屬性中的get函式,它會將age返回給呼叫方。

age2的屬性中的設定需要進行判斷,如果大於150則按照150的來算,如果不大於150就按照實際賦值的來算。如此便可以達到控制輸入資料大小的目的。這也是屬性的優點。

屬性的唯讀和只寫

如上**可對age進行讀和寫。但是如果我們想要對某個字段唯讀的話,只要將set刪除即可

private

int age;

public

int age

//只有get,則age就只能夠讀不能夠寫

}

同樣的也可對某個欄位只寫不讀。只要刪除get而保留set即可。

另外get和set訪問器也可設定訪問級別。例如

get

private set

當然也可自動實現屬性

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace test

//直宣告乙個屬性這裡沒有宣告age,因為程式會自動的宣告private int age;編譯器會自動建立它。只不過這種情況下無法實現欄位的邏輯合理性。

}class

program

}}

C 類的函式成員之建構函式

c 類的函式成員 共分為以下幾種 建構函式 析構函式 類的方法 類的靜態方法 屬性運算子 索引器 三 建構函式 建構函式是乙個類被例項化為物件時首先呼叫的乙個函式。它只被呼叫以此,且在類例項化的時候。所以通常類的建構函式用來進行初始化的一些工作。建構函式的結構如下 public class mycl...

C 類成員之屬性

class phonecustomer set 示例中變數名為 firstname 的字段改為私有,firstname屬性包含 get 和 set 訪問器,來檢索和設定支援欄位的值。get訪問器不帶任何引數,且必須返回屬性宣告的型別。也不應為 set 訪問器指定任何顯式引數,但編譯器假定它帶乙個引數...

C 類 const修飾普通成員函式

const修飾變數一般有兩種方式 const t a,或者t const a,這兩者都是一樣的,主要看const位於 的左邊還是右邊,這裡不再贅述,主要來看一下當const修飾類的成員函式時,成員函式有什麼特點。類的成員函式後面加 const 表面這個函式不會對這個類物件的資料成員 準確的說是非靜態...