• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロパティのアクセス修飾子)

プロパティのアクセス修飾子についての質問

このQ&Aのポイント
  • プロパティのアクセス修飾子について質問です。オート・インプリメント・プロパティで、Property Prop2 As String = "Empty"と書いた場合、Propertyのアクセス修飾子はPublicになるのでしょうか?
  • VBの記述でPrivate CurrentValue As Integer Private Property Current As Integer Get Return CurrentValue End Get Set(ByVal value As Integer) CurrentValue = value その他諸々の記述 End Set End Propertyというのがあります。外部からCurrent += 1などのようにアクセスしています。この場合、Property Current As Integer のアクセス修飾子がPrivateになっているのですが、Public とした場合と何が違うのでしょうか?
  • プロパティのアクセス修飾子に関する質問です。オート・インプリメント・プロパティでProperty Prop2 As String = "Empty"と書いた場合、Propertyのアクセス修飾子はPublicになるのでしょうか?また、VBの記述でPrivate CurrentValue As Integer Private Property Current As Integer Get Return CurrentValue End Get Set(ByVal value As Integer) CurrentValue = value その他諸々の記述 End Set End Propertyというのがありますが、この場合、Property Current As Integer のアクセス修飾子がPrivateになっている理由を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>とあります。この場合、アクセス修飾子を省略すると、PropertyのCurrent変数はPrivate扱いという理解でいいのでしょうか? そういうことになります。 >後、オート・インプリメント・プロパティ(自動実装プロパティ)の例を見ていると、Propertyの前のアクセス修飾子を省略したものが多いように思うのですが、何か意味とかあるのでしょうか?(ただ、前にアクセス修飾子を付けてもいいとは書かれているようです。) 私がその例を書いてるわけではないので意味があるのかどうかはわかりかねます。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>クラスは、 >Public Class Form1 >クラス以外の諸々の記述 >End Class >の中での記述になっていました。 「クラス以外の諸々の記述」と書かれていますが Public Class Form1 ~ End Class の間に記述されているものはClass Form1に関するものであってクラス以外の諸々の記述ということはないはずです。 >ここは、同一クラス内からのアクセスということで、Private にしているだけという理解でいいのでしょうか? 私が記述したわけではないので正確なところはわかりませんが、そのような理解でよいかと思います。 >クラス外の場合は、Public にして、最初に書いたようにこのPubic の記述は省略してもよいという理解でいいでしょうか? Publicと省略したものは意味が異なりますよ。 その辺はVBのマニュアルや入門書でアクセス修飾子を調べれば載ってると思います。

tmiyoshi
質問者

補足

ちょっと調べてみたのですが、 アクセス修飾子を指定しない場合、名前空間・クラス・構造体・モジュールのアクセシビリティはFriend、クラス・モジュールのメンバはPrivate、構造体のメンバはPublicになります。 とあります。この場合、アクセス修飾子を省略すると、PropertyのCurrent変数はPrivate扱いという理解でいいのでしょうか? 後、オート・インプリメント・プロパティ(自動実装プロパティ)の例を見ていると、Propertyの前のアクセス修飾子を省略したものが多いように思うのですが、何か意味とかあるのでしょうか?(ただ、前にアクセス修飾子を付けてもいいとは書かれているようです。) よろしくお願い致します。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>というのがあるのですが、外部から、 「外部から」というのは、そのCurrentプロパティがあるクラスとは別のクラスからという意味ですか? Withステートメントでインスタンスを指定してるわけでもなく単純に Current += 1 と書けてるのなら同クラス内からのアクセスになりますけど。

tmiyoshi
質問者

補足

すいません。 クラスは、 Public Class Form1 クラス以外の諸々の記述 End Class の中での記述になっていました。 ここは、同一クラス内からのアクセスということで、Private にしているだけという理解でいいのでしょうか? クラス外の場合は、Public にして、最初に書いたようにこのPubic の記述は省略してもよいという理解でいいでしょうか? よろしくお願い致します。

関連するQ&A

専門家に質問してみよう