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

C# 物件導向程式設計核心觀念:一切皆物件、識別物件與 UML 思維

     編輯:關於C語言

C# 是純粹的物件導向語言

  • 連基本型別(int、double、bool)皆為 System.Object 衍生型別。
  • 不存在游離於物件之外的程序式程式碼(無全域函數、變數)。
  • 掌握 OO 思維是精通 C# 的前提,否則僅停留在語法表層。

什麼是「物件導向思維」?

核心:**「一切皆物件」**。軟體開發圍繞「目標領域」的物件進行:

  • 電子商務:商品、訂單、用戶、購物車、類別...
  • 論壇:版面、主題、回覆、用戶...
  • 演算法:階乘計算器(起始值、結果、演算法本身也是物件)。

物件的兩大特質:屬性與行為

面向對應詞類範例(人)
屬性名詞姓名、身高、體重、國籍、出生日期
行為動詞走路、吃飯、跑步、踢球、玩遊戲

特殊情況:身分證只有屬性無行為;「飛」是行為也可視為物件(介面)。

情境決定細節:戶籍系統的「人」不需踢球行為;足球遊戲的「人」則需詳細動作。

屬性本身也可以是物件


public class Name
{
    public string FirstName;
    public string MiddleName;
    public string LastName;
}

public class Person
{
    public Name FullName; // 姓名物件
    public DateTime BirthDate;
    public string Nationality;
}

C# 支援的型別分類

  • class:參考型別,支援繼承、多型(如 Person)。
  • struct:值型別,輕量、不可繼承(如 Point、DateTime)。
  • enum:具名常數群組(如 Nationality)。
  • interface:契約、行為規範(如 IFlyable)。
  • delegate:方法簽章封裝,事件基礎。
  • event:發布/訂閱機制(如 BeforePost、AfterPost)。

識別物件的實務方法

  1. 列出功能需求(使用者故事/用例)。
  2. 萃取關鍵名詞 → 候選物件(商品、用戶、購物車、訂單、評論)。
  3. 分析每個物件所需資訊 → 屬性(商品:名稱、價格、圖片、分類、庫存)。
  4. 從需求動詞找行為(商品:搜尋;用戶:註冊、登入、登出)。

進階建議

  • 學習 UML 用例圖、類別圖、循序圖,將識別結果視覺化。
  • 採用極限編程 (XP) 使用者故事逐一拆解物件。
  • 「識別物件像填字遊戲,樂趣在過程而非標準答案」。
  • OO 思維需要「妙悟」,多寫程式、多重構、多閱讀經典專案碼,終會豁然開朗。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved