一、定義域
標準的宣告格式:
class myclass
這種宣告格式的成員是可以對其進行初始化的。但是它是
myclass
的公有成員,可在例項化
myclass
的物件後進行初始化或修改操作。
myclass myclass =
new myclass();
myclass.myint =
1;
域(成員)也可以使用
readonly
關鍵字宣告,表示這個域(成員)只能在執行建構函式的過程中賦值,或由初始化賦值語句賦值。
class myclass}或
class myclass
如果我們使用關鍵字
static
將域宣告為靜態。
class myclass
我們要訪問這個域(成員)則只能通過定義它的類來訪問,通過類的物件例項是訪問不到的。
myclass.myint =
10;
console.writeline("",myclass.myint);
二、定義方法
方法的使用和域基本一樣,同樣在使用了
static
關鍵字後,這個方法就只能通過類來訪問,不能通過物件例項來訪問。 例
1:
class myclass
}myclass myclass =
new myclass();
console.writeline("",myclass.getstring());
例2:
class myclass
}console.writeline("",myclass.getstring());
但在方法的定義中,還可以使用以下幾個關鍵字:
virtual
:方法可以重寫。
abstract
:方法必須重寫(只用於抽象類中)。
override
:方法重寫了乙個基類方法(如果方法被重寫,就必須使用關鍵字)。
extern
:方法定義放在其他地方。
下面展示乙個過載的例子:
public
class mybaseclass
}public
class myderivedclass : mybaseclass
}class class1
",oldthing.dosomething());
myderivedclass newthing =
new myderivedclass();
console.writeline("",newthing.dosomething());
} }
執行結果為:
我們在重寫或定義方法的同時,如果使用了
override
關鍵字,那麼我們也可以同時使用
sealed
關鍵字。使得派生類不能對此方法進行過載。大家請看下圖:
我們在定義
myderivedclass
類中的dosomething
方法時沒有使用sealed關鍵字,所以我們可以在它的派生類testoverride中過載這個方法。繼續往下看:
這時,我們在定義
myderivedclass
類中的dosomething
方法使用了sealed關鍵字,實現了將這個方法進行密封,使得其派生類不能對這個方法進行過載。
三、定義屬性
屬性擁有兩個類似於函式的塊,乙個塊用於獲取屬性的值,另乙個塊用於設定屬性的值。忽略get塊建立只寫屬性,忽略set塊建立唯讀屬性。
private
int intval;
public
int val
set
}
c 經典入門學習筆記 定義類成員
基本語法部分 成員的訪問級別確定成員的使用範圍,常用下面的關鍵字 public 成員可以由任何 訪問 private 只能由類中的 訪問 internal 只能由定義它的專案內部的 訪問 protected 成員只能由類或派生類中的 訪問 欄位的定義 class myclass 如果該屬性是唯讀的,...
C 筆記(五) static類成員
在設計乙個類的時候,我們希望某些屬性是所有物件共用的,而不是不同物件有不同地屬性。那我們可以使用static關鍵字進行宣告,使這個類成員變成靜態成員。例如 存在銀行裡的錢,都有相同的利息,不會因為賬戶的不同而利息不同。我們在生成銀行賬戶這個物件時,此時就希望它的利息這個成員是共用的。static關鍵...
學習C (十)定義類成員
在類定義中,也提供該類中所有成員的定義,包含字段 方法和屬性。所有成員都有自己的訪問級別,用下面的關鍵字之一來定義 public 成員可以由任何 訪問 private 成員只能由類中的 訪問 如果沒有使用任何關鍵字,就預設使用這個關鍵字 internal 成員只能由定義它的程式集 專案 內部的 訪問...