【正文】
男” 。 Microsoft 169。 } 等價于: class People { public string name。 31 帶參數(shù)的構(gòu)造函數(shù) ? 同其他方法一樣,構(gòu)造函數(shù)可以帶參數(shù) ? 一旦我們定義了構(gòu)造函數(shù), C就不再提供缺省構(gòu)造函數(shù) ? 示例: class People { public string name。 } } People obj = new People(“小明” )。 //編譯錯誤! Microsoft 169。 //無參的構(gòu)造函數(shù) public People( ) { sex = “男” 。 } } People obj1 = new People(“小明” )。 Microsoft 169。 public int age。 age = 0。 age = 0。 age = theAge。 34 使用初始化列表 ? 多個重載的構(gòu)造函數(shù)常常很相似,大量重復(fù)代碼 ? 將公共代碼集中于一個構(gòu)造函數(shù)中,由構(gòu)造函數(shù)調(diào)用 ? 示例: class People { public string name。 public People( ):this(“unknow”,0) //構(gòu)造函數(shù) 0 { } public People(string sname):this(sname,0) //構(gòu)造函數(shù) 1 { } public People(string sname, int theAge) //構(gòu)造函數(shù) 2 { name = sname。 } } Microsoft 169。 36 this 關(guān)鍵字 class People { public string name。 public People(string name, int age){ name = name 。 = age。 38 使用類的靜態(tài)成員 ?類可以具有靜態(tài)的屬性、靜態(tài)方法 ?使用 static 關(guān)鍵字修飾 ?靜態(tài)成員相當于“全局”的,不依賴于某一個具體的對象 Microsoft 169。 static string food。 40 類的靜態(tài)字段 ? static變量不依賴于具體對象, 因此 直接通過類名訪問,而 不是通過類的對象實例訪問的 ? 非靜態(tài)變量必須首先實例化類的一個對象,再通過對象訪問,因此也稱為實例變量 class Cat { string name 。 } static void Main(){ = “fish”。 //錯誤 Cat cat1 = new Cat()。 //OK } Microsoft 169。 public string name 。 } } 1 cat1 2 cat2 3 cat3 4 cat4 count = 4 Microsoft 169。 43 3 C中對象的創(chuàng)建 內(nèi)容: ? 類的定義 ? 聲明方法 ? 構(gòu)造函數(shù) ? 使用類的靜態(tài)成員 ? 命名空間 Microsoft 169。 45 使用命名空間組織類 ?如同硬盤上的文件夾可以包含子文件夾一樣,一個命名空間可以再包含命名空間,形成嵌套層次 ?硬盤上文件夾間層次用 \表示,命名空間的層次用 .表示 c:\windows\system32\ 如: System . IO . File namespace namespace class Microsoft 169。 47 使用命名空間組織類 ? 使用完全限定的名字 ? 使用 using 指定類所在的命名空間 People obj = new People()。 //OK using 。 48 ? 在 .NET 框架類庫中的類是通過一個命名空間層次結(jié)構(gòu)來進行組織管理的 ? 常見命名空間 System .NET 框架類庫命名空間 Microsoft 169。 50 面向?qū)ο? 編程就是“累”?。? 小 憩 片 刻