D 言語には, 公開範囲が広い順に, 次の 5 種類のアクセス保護属性がある.
export
public
protected
package
private
また, アクセス保護属性の修飾方法が 3 種類ある.
C++ 風:
class Foo{
public:
int a;
private:
int b;
}
Java / C# 風:
class Foo{
public int a;
private int b;
}
スコープ指定:
class Foo{
public{
int a;
}
private{
int b;
}
}
そして, アクセス保護できる要素もたくさんある.
関数 (グローバル関数, メンバ関数などなど)
import
class
struct
union
enum
ailias
typedef
などなど