接口成員隱式 public,不允許寫 public、private 等修飾符(C# 8.0 前)。
interface ILogger {
private void LogCore(string msg) { /* 默認實現 */ } // 私有輔助方法
public void Log(string msg) => LogCore($"[{DateTime.Now}] {msg}");
}
private 成員只能有默認實現,不能被實現類訪問/重寫。| 特性 | 接口 | 抽象類 |
|---|---|---|
| 多實現 | 類可實現多接口 | 單繼承 |
| 狀態 | 無實例字段 (C# 8.0 前) | 可有字段/構造器 |
| 訪問修飾符 | 隱式 public | 任意 |
| 用途 | 定義行為契約 | 代碼復用 + 契約 |