7.5 理解靜態方法和資料
設計類的過程就是對資訊進行分類,將相關資訊放到有意義的實體中。
封裝時定義類時的重要原則,中心思想是:使用類的程式不應關心類內部如何工作。封裝有時稱為資訊隱藏,實際有兩個目的:
如下:
class
circle
}
類的主體包含一般的方法和字段(變數)。
建立circle
變數:circle c;
初始化:c=new circle();
注意要用關鍵字new
。new
將新建類的例項,即物件。
與c++類似。
class
circle
public
double
area()
}
class
circle
public
circle
(int initialradius)
public
double
area()
}
分部類:
c#允許將類的源**拆分到單獨的檔案中。這時要在每個檔案中使用關鍵字partial
定義類的不同部分。如假定circle類被拆分到兩個檔案中:circ1.cs
和circ2.cs
:
partial
class
circle
public
circle
(int initialradius)
}
partial
class
circle
}
小知識:todo
注釋:常用於標註以後要進行加工的**,用它指出此處要完成的工作,如todo:實現dowork方法
,在vs中視窗
->任務列表
中就會出現相關的標註,雙擊可以快速定位到相關位置。
下面是乙個例子,我們新建乙個控制台應用。右鍵專案新增新建項,選擇c#類,命名為point.cs
,**如下
using system;
using system.collections.generic;
using system.text;
namespace c_7_4_2
public
point
(int x,
int y)
public
double
distanceto
(point other)
}}
然後program.cs
中的**如下:
using system;
namespace c_7_4_2")
;}static
void
main
(string
args)
}}
靜態方法不依賴類的例項,不能訪問類的任何例項欄位或例項方法。只能訪問標記為static的其他方法和字段。
如下面**:
class
circle
public
circle
(int initialradius)
}
numcircles
欄位由所有circle
物件共享。從外部訪問字段numcircles
要以circle
為字首,如console.writeline($"number of circle object:");
。
用const
宣告的字段稱為常量字段。
c#允許宣告靜態類,靜態類只能包含靜態成員。靜態類純粹作為工具方法和字段的容器使用。靜態類不能包含任何例項資料或方法。所以用new
建立靜態類的物件是沒意義的,編譯器會報錯。為了執行初始化,靜態類允許乙個預設構造器,該構造器必須宣告為靜態。
任何時候呼叫靜態方法或引用靜態欄位都必須指定方法或字段所屬的類。靜態using
語句允許將類引入作用域,這樣在訪問時可以省略類名。如:
using static system.math;
using static system.console;
var root=sqrt(99.9);
writeline($"the squre root of 99.9 is ");
由於靜態using
語句會使**的可讀性降低,所以還是不建議使用。
匿名類是沒有名字的類。建立匿名類要以new
開頭,然後花括號。
myanonymousobject=new;
該類包含兩個公共字段,編譯器根據初始化欄位的資料型別推斷欄位的型別。
可以用var
將變數宣告為隱式型別。
var myanonymousobject=new;
第七章 建立並管理類和物件
類容納的資訊儲存在字段中,類提供的功能用方法實現。封裝是定義類的重要原則。它的中心思想是 使用類的程式不應關心類內部如何工作。程式只需建立類的例項並呼叫類的方法。因此,封裝有時稱為資訊隱藏,它實際有下面兩個目的 將方法和資料合併到類中 換言之,為了支援分類。控制對方法和資料的訪問 換言之,為了控制類...
檔案管理類 FileInfo 和 File
fileinfo.copyto 不能複製整個資料夾的內容,如果需要複製整個資料夾的內容的話,需要單獨複製每個檔案,並建立於舊目錄相同的資料夾名稱才可以 汗 這個麻煩了 通過檢查 exists 可以確定檔案是否存在 複製指定目錄的所有檔案,不包含子目錄 原始目錄 目標目錄 如果為true,表示覆蓋同名...
使用者和組管理類命令
useradd命令用於linux中建立的新的系統使用者 語法useradd 選項 引數 選項 c 備註 加上備註文字。備註文字會儲存在passwd的備註欄位中 d 登入目錄 指定使用者登入時的啟始目錄 d 變更預設值 e 有效期限 指定帳號的有效期限 f 緩衝天數 指定在密碼過期後多少天即關閉該帳號...