首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 銳利體驗 (四) (1):類別與物件核心觀念

     編輯:關於C語言

第四講:類別與物件

元件程式設計非拋棄傳統面向物件,反而為其深化發展。類別作為面向物件靈魂,在 C# 擁有廣泛深入應用,許多「銳利」元件特性直接由類別包裝而成。深度掌握類別自然是「銳利體驗」重要一環。

類別定義與成員

C# 類別為封裝資料成員、函式成員、巢狀型別的資料結構。資料成員可為常數、欄位。函式成員含方法、屬性、索引器、事件、運算子、實例建構函式、靜態建構函式、解構函式。詳細剖析見第五、六講。除特定外部方法,類別與成員宣告與實現通常放在一起。

類別存取修飾詞

C# 多種修飾詞表達類別不同性質。依保護等級五種限制修飾詞:

  • public:任意存取
  • protected:本類別與繼承子類別存取
  • internal:本組件內所有類別存取。組件為 C# 邏輯與物理單位,編譯後副檔名常為 .DLL 或 .EXE。
  • protected internal:唯一組合限制,本組件所有類別及其繼承子類別存取。
  • private:僅本類別存取

非巢狀類別僅有 public、internal 兩種修飾。new 僅用於巢狀類別,表示隱藏繼承父類別同名型別。abstract 修飾抽象類別,僅供繼承不可實例化,可含抽象成員但非必須,不可與 new 並用。sealed 修飾密封類別,禁止繼承,不可與 abstract 並用。

抽象類別範例

abstract class A { public abstract void F(); }
abstract class B : A { public void G() {} }
class C : B { public override void F() { /* 實作 F */ } }

A 含抽象方法 F,不可實例化。B 繼承 A 但未實作 F,仍須宣告 abstract。C 繼承 B 並實作 F,可實例化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved