C# 與 Java 的 Access Modifier
Java Access Modifier:
- Private
- Default (相同 Package 內才可存取)
- Protected (相同package或子類別皆可存取)
- Public
P.S Class 只能使用 public, default 兩種 Access Modifier, 不同 Project 若建立相同 package, java 會視為同一個 Package
C# Access Modifier:
- Private
- Internal (default) : 相同 Project 內才可存取
- Protected : 子類別才可存取
- Protected internal :相同 Project 或子類別皆可存取
- Public
P.S 1. Class 只能使用 public, internal 兩種 Access Modifier, 沒有設定 Access Modifier 則預設為 internal
2.同一個 Project 內的所有 Class (不論在哪個 Namespace 中, 也不論 Class Modifier 為何) 皆可互相存取
Namespace(C#) 意義與 Package(Java)意義相仿
•相同點
同樣都能將程式碼群組化, 並且可以在不同群組中建立相同名稱的 Class
•相異點
–Package: 當程式碼位於不同 Package 內時, 會被不同的 Access Modifier 影響存取權限
–Namespace: 當程式碼位於不同 Namespace 內時, 不會因為不同的 Access Modifier 影響存取權限