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

C# 類別與介面、抽象類別與介面、值/參考型別差異 (1)

     編輯:關於C語言

類別 vs 介面

  • 介面:定義行為契約,規範類別實作
  • 類別:具體實作功能
  • 抽象類別:不完整類別,含抽象/具體成員,需進一步特化
  • 介面:純行為規範,所有成員皆為抽象
  • 單一繼承、多重實作:一個類別只能繼承一個基類,可實作多個介面

抽象類別 vs 介面

  • 抽象類別可包含定義與實作;介面僅含定義
  • 抽象類別反映「內部共性」 (is-a);介面反映「外部特性/契約」 (can-do)
  • 提煉內部共性 → 抽象類別;對外提供擴充點 → 介面
  • OCP 原則:依賴介面而非具體實作,擴充開放、修改關閉

值型別 vs 參考型別

  • 值型別:變數直接儲存資料 (堆疊),複製時建立獨立副本
  • 參考型別:變數儲存位址 (堆疊指向堆積),複製時共享同一物件
  • 堆積:可變長度資料 (字串);堆疊:固定長度 (int 4 bytes)
  • 值型別操作互不影響;參考型別共享物件時操作會互相影響
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved