すべての調査で、ユーザーに内部プロパティへのアクセスを許可する場合は常に、プロパティへの直接アクセスを許可するのではなく、get/setメソッドを介してアクセスを許可する必要があることを学びました。
class myClass
{
private int x;
public void SetX (int x)
{
this.x = x;
}
public int GetX ()
{
return this.x
}
}
これにより、プログラマーがユーザーに影響を与えることなくエンジンを完全に簡単に変更できるという追加の利点が得られるため、デバッグが容易になり、入力の有効性を確認するためのオプションが増えます。
ただし、C#で学習と書き込みを開始してから、言語に「ネイティブ」なクラスのほとんどが、たとえば、長方形(System.Drawing.Rectangle
)の位置やサイズを設定/取得するためにプロパティを公開していることに気付きました。簡単にアクセスできます。X
、、、およびプロパティをY
直接。Width
Height
プロパティを公開することの唯一の利点は、コードが少し単純になることです。プロパティを公開することには他に利点がありますか?
いつプロパティを公開する必要があり、いつ公開するべきではありませんか?