C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: プロパティについて


(過去ログ 69 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■40316 / inTopicNo.1)  プロパティについて
  
□投稿者/ ビギナー (1回)-(2009/08/24(Mon) 07:37:54)

分類:[.NET 全般] 

Public Class Form1
    Dim dx As computer = New computer()
    Dim n As String
    Dim p As Integer
    



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        n = TextBox1.Text 'TextBox1に文字数nを代入

        p = Integer.Parse(n) '文字数nを数値に変換

        dx.memorycapa = p 'インスタンスdxのプロパティに数値pを代入
        
        dx.showmemory() 'showmemory()メソッドを実行
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Clear()

    End Sub
End Class
Class computer
    Private memory As Integer = 512
    Public Property memorycapa()
        Get
            Return memory
        End Get
        Set(ByVal value)
            If value > 248 And value < 2048 Then memory = value

        End Set
    End Property
    Sub showmemory()
        MessageBox.Show(memory)
    End Sub
End Class

引用返信 編集キー/
■40317 / inTopicNo.2)  Re[1]: プロパティについて
□投稿者/ ビギナー (2回)-(2009/08/24(Mon) 07:47:18)
オブジェクト指向のプロパティがよくわかりかねるのでコードを書いてみました。
プロパティは、フィールドがカプセル化されているときに直接アクセスできるメソッドであるとのことですが、
下記のコードは、TextBox1にメモリ容量を書き込み、value > 248 And value < 2048 の範囲であれば、その数値が
MessageBox.で表示され、この範囲を超えると512が表示されると思うのですが、例えば、640を入力して、その後
範囲外の数値を入力すると、その直前に入力した640が表示されつづけます。
512にならなくても問題はないと思いますが、プロパティとはこのようなものという理解でよいのでしょうか


Public Class Form1
    Dim dx As computer = New computer()
    Dim n As String
    Dim p As Integer
    



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        n = TextBox1.Text 'TextBox1に文字数nを代入

        p = Integer.Parse(n) '文字数nを数値に変換

        dx.memorycapa = p 'インスタンスdxのプロパティに数値pを代入
        
        dx.showmemory() 'showmemory()メソッドを実行
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Clear()

    End Sub
End Class
Class computer
    Private memory As Integer = 512
    Public Property memorycapa()
        Get
            Return memory
        End Get
        Set(ByVal value)
            If value > 248 And value < 2048 Then memory = value

        End Set
    End Property
    Sub showmemory()
        MessageBox.Show(memory)
    End Sub
End Class




引用返信 編集キー/
■40318 / inTopicNo.3)  Re[2]: プロパティについて
□投稿者/ ぽぴ王子 (451回)-(2009/08/24(Mon) 08:05:07)
ぽぴ王子 さんの Web サイト
No40317 (ビギナー さん) に返信
> オブジェクト指向のプロパティがよくわかりかねるのでコードを書いてみました。
> プロパティは、フィールドがカプセル化されているときに直接アクセスできるメソッドであるとのことですが、
> 下記のコードは、TextBox1にメモリ容量を書き込み、value > 248 And value < 2048 の範囲であれば、その数値が
> MessageBox.で表示され、この範囲を超えると512が表示されると思うのですが、例えば、640を入力して、その後
> 範囲外の数値を入力すると、その直前に入力した640が表示されつづけます。
> 512にならなくても問題はないと思いますが、プロパティとはこのようなものという理解でよいのでしょうか

えっと、文章が「〜ですが」が連続していて、何を聞きたいのかがよくわかりません。

computer クラスの memory フィールドは初期値で 512 が設定されています。
640 を設定した場合は、Setter にて computer クラスの memory フィールドが 640 に書き換えられます。
その後範囲外の数値(たとえば 10 )を設定すると、Setter では memory が書き換えられないので、直前に
変更した 640 が表示されます。
それで問題はないと思いますが、どこで詰まっているのでしょうか?
引用返信 編集キー/
■40319 / inTopicNo.4)  Re[3]: プロパティについて
□投稿者/ ビギナー (3回)-(2009/08/24(Mon) 08:28:40)
No40318 (ぽぴ王子 さん) に返信
> えっと、文章が「〜ですが」が連続していて、何を聞きたいのかがよくわかりません。
 
意味不明ですみません
> computer クラスの memory フィールドは初期値で 512 が設定されています。
> 640 を設定した場合は、Setter にて computer クラスの memory フィールドが 640 に書き換えられます。
> その後範囲外の数値(たとえば 10 )を設定すると、Setter では memory が書き換えられないので、直前に
> 変更した 640 が表示されます。
> それで問題はないと思いますが、どこで詰まっているのでしょうか?

有り難うございました。
解決済み
引用返信 編集キー/
■40321 / inTopicNo.5)  Re[4]: プロパティについて
□投稿者/ くだん (24回)-(2009/08/24(Mon) 09:17:14)
No40319 (ビギナー さん) に返信
質問の目的が分からないですね。
オブジェクト指向もプロパティも直接関係ないかもしれない。

>プロパティとはこのようなもの
結局どのようなものだと理解したんですか?
だらだらと書いてある文章に3つくらい違う話題が含まれてます。

> オブジェクト指向のプロパティがよくわかりかねるので
なにがわからなかったのが、どうわかるようになったんですか?
解決済み
引用返信 編集キー/
■40344 / inTopicNo.6)  Re[4]: プロパティについて
□投稿者/ ぽぴ王子 (452回)-(2009/08/24(Mon) 12:15:45)
ぽぴ王子 さんの Web サイト
2009/08/24(Mon) 12:21:56 編集(投稿者)

解決済みを外してしまったので修正。

いや、解決した?のであればそれでいいのですけれど、単に「有り難うございました」だけだと
どこに困っていて、どうやって解決したのかがわからないのですよ。

No40319 (ビギナー さん) に返信
> ■No40318 (ぽぴ王子 さん) に返信
>>えっと、文章が「〜ですが」が連続していて、何を聞きたいのかがよくわかりません。
>  
> 意味不明ですみません

意味不明、とまではいかなかったです。ちょっと文章にまとまりがなくて、わかりにくい
なーと思ったぐらいで。他人に思いを伝えるには、もう少し文章の書き方を考えた方が
いいかなとは思いましたけれど、それだけですね。

>>computer クラスの memory フィールドは初期値で 512 が設定されています。
>>640 を設定した場合は、Setter にて computer クラスの memory フィールドが 640 に書き換えられます。
>>その後範囲外の数値(たとえば 10 )を設定すると、Setter では memory が書き換えられないので、直前に
>>変更した 640 が表示されます。
>>それで問題はないと思いますが、どこで詰まっているのでしょうか?
>
> 有り難うございました。

くだんさんも書かれてますが、なにがわからなかったのか、どうわかるようになったのかを
書いてくださるとありがたいです。
回答する側は質問者と一緒になって考えていますし、どう解決したのかが知りたくて回答を
考えている部分もあります。
改めて考えたらちょっとした勘違いであったとか、見直してみたらちゃんと理解できたとか
そういった些細なことでもいいので、書いてもらえると回答者としてはありがたいです。
解決済み
引用返信 編集キー/
■40351 / inTopicNo.7)  Re[5]: プロパティについて
□投稿者/ ビギナー (4回)-(2009/08/24(Mon) 12:57:12)
2009/08/24(Mon) 12:58:11 編集(投稿者)
 
> くだんさんも書かれてますが、なにがわからなかったのか、どうわかるようになったのかを
> 書いてくださるとありがたいです。
> 回答する側は質問者と一緒になって考えていますし、どう解決したのかが知りたくて回答を
> 考えている部分もあります。
> 改めて考えたらちょっとした勘違いであったとか、見直してみたらちゃんと理解できたとか
> そういった些細なことでもいいので、書いてもらえると回答者としてはありがたいです。

すみません。見直した結果問題なかったということでした。
今後はよく考えてから質問したいと思います。ご迷惑かけました。m(_ _)m

解決済み
引用返信 編集キー/
■40357 / inTopicNo.8)  Re[6]: プロパティについて
□投稿者/ くだん (25回)-(2009/08/24(Mon) 13:37:58)
No40351 (ビギナー さん) に返信
>すみません。見直した結果問題なかったということでした。
概念を質問文の先頭に持ってきている以上、問題ないようには見えませんが・・・まぁ、それはいいです。
なんか適当に書いているように見えますので確認させてください。

>プロパティは、フィールドがカプセル化されているときに直接アクセスできるメソッドであるとのこと
フィールド、プロパティ、メソッドあたりは、区別して説明されることがほとんどだと
思っています。特にオブジェクト指向を扱った説明でプロパティをメソッドと説明する
とは驚きです。
出典を示してください。誰がどこでそのような説明をしたのですか?

解決済み
引用返信 編集キー/
■40430 / inTopicNo.9)  Re[7]: プロパティについて
□投稿者/ ビギナー (5回)-(2009/08/25(Tue) 20:21:58)
No40357 (くだん さん) に返信
> >プロパティは、フィールドがカプセル化されているときに直接アクセスできるメソッドであるとのこと
> フィールド、プロパティ、メソッドあたりは、区別して説明されることがほとんどだと
> 思っています。特にオブジェクト指向を扱った説明でプロパティをメソッドと説明する
> とは驚きです。
> 出典を示してください。誰がどこでそのような説明をしたのですか?
仕事が立て込んでいたので(亀レスで)もうしわけないです。
「ずばりわかるVB & C# プログラミングの基礎はこれで万全」(日経HR)ですが
読まれたことはありますか?
私の理解の仕方がおかしかったのでは?と思っていますが

引用返信 編集キー/
■40509 / inTopicNo.10)  Re[8]: プロパティについて
□投稿者/ Jitta on the way (416回)-(2009/08/27(Thu) 07:02:04)
No40430 (ビギナー さん) に返信
> ■No40357 (くだん さん) に返信
>>>プロパティは、フィールドがカプセル化されているときに直接アクセスできるメソッドであるとのこと
>>フィールド、プロパティ、メソッドあたりは、区別して説明されることがほとんどだと
>>思っています。特にオブジェクト指向を扱った説明でプロパティをメソッドと説明する
>>とは驚きです。
>>出典を示してください。誰がどこでそのような説明をしたのですか?
> 仕事が立て込んでいたので(亀レスで)もうしわけないです。
> 「ずばりわかるVB & C# プログラミングの基礎はこれで万全」(日経HR)ですが
> 読まれたことはありますか?
> 私の理解の仕方がおかしかったのでは?と思っていますが
>

VB や C# では、あながち間違ってはいませんよ。C# のほうには、「特殊なメソッド」と書いてあります。

ただ、今回の質問で、「プロパティとは、この様なものでしょうか」というところは、何を尋ねたいのかわかりませんでした。「この様な」の、「この」が、何を、あるいは、どの様な動作を指しているのか、わかりません。「前回指定した値が出続ける」なのか、「指定した値が設定されない」なのか、他のことなのか。
web 上では、すぐに訂正できるわけではないので、言葉を尽くして説明を重ねておきましょう。


私のハンドルの「on the way」は、「道の上、つまり移動中でモバイル端末からの投稿なので、入力が面倒なのよ。説明が足らなかったらごめんね」という意味を込めています(^^;
引用返信 編集キー/
■40531 / inTopicNo.11)  Re[8]: プロパティについて
□投稿者/ くだん (26回)-(2009/08/27(Thu) 14:44:31)
No40430 (ビギナー さん) に返信
> 「ずばりわかるVB & C# プログラミングの基礎はこれで万全」(日経HR)ですが
> 読まれたことはありますか?
読んでます。VB2005EEを付属のCDからインストールしたような記憶が・・・
ただ、細かな文章まで記憶してるはずも無く、オブジェクト指向については
この雑誌を読む前から持っている知識なので、自分の色眼鏡で解釈してないとも
限りません。ネット上に該当する説明が転がっていれば、それを直接見て
話もできるでしょうが、引っ掛からなかったのでこの本の是非は問いません。

No40509 (Jitta on the way さん) に返信
> VB や C# では、あながち間違ってはいませんよ。C# のほうには、「特殊なメソッド」と書いてあります。
[Visual Basic のプログラミング ガイド プロパティとメソッド]
http://msdn.microsoft.com/ja-jp/library/0wwfsses.aspx
[C# プログラミング ガイド プロパティ ]
http://msdn.microsoft.com/ja-jp/library/x9fsa0sw.aspx
確かにC#の方には書いてありますね。

ただ、「実際に」とか言い出すと、極端な話…
マシン語レベルの話ならコンピュータは入力・演算・出力しか
できず、すべての情報を数値で取り扱うことしかできない。
→アルゴリズム、データ構造、構造化、オブジェクト指向なんて無い
と言ってもあながち間違いではない…とか?

とりあえず、質問文ではオブジェクト指向を前提とした話で
[オブジェクト指向プログラミングの概要]
http://msdn.microsoft.com/ja-jp/vbasic/ms789107.aspx
それぞれに違った役割が定義されているので、同じ単語で表現する
のは良くないと思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -