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

C# 與 Java 深度比較(二):屬性系統——語法糖與封裝強制

     編輯:關於C語言

Java/C++ 傳統寫法

foo.setSize(foo.getSize() + 1);
label.getFont().setBold(true);

C# 屬性語法糖

foo.Size++;
label.Font.Bold = true;

編譯器自動轉換為 get_Size()/set_Size() 呼叫,程式碼可讀性大幅提升。

屬性實作比較

// Java/C++
public int getSize() { return size; }
public void setSize(int value) { size = value; }

// C#
public int Size {
    get { return size; }
    set { size = value; }
}

術語區分

  • Field (欄位/域):private int size; — 儲存資料的變數
  • Property (屬性):public int Size { get; set; } — 存取器封裝

C# 強制 get/set 成對出現 (或明確 private set),Java/C++ 允許單獨 get 或 set。C# 設計意圖:修改時同步檢視存取邏輯,避免「改了 get 忘了 set」的維護缺陷。

歷史淵源

屬性語法源自 VB/Delphi,C# 引入並強化為第一級語言特性。

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