R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門3

http://blogs.wankuma.com/rti/archive/2007/07/26/87105.aspx
R流、一瞬でわかる.NETオブジェクト指向プログラミング入門2

http://blogs.wankuma.com/rti/archive/2007/07/25/86988.aspx
R流、一瞬でわかる.NETオブジェクト指向プログラミング入門1

の続きです。
どこからフォローすれば良いのかわからないので、先頭から順に行ってます。

今回は、

クラスはメンバで構成される

というテーマです。

下記のように、ボタンコントロールのプロパティウィンドウを見ると、ボタンのプロパティにどういったものがあるのかを知ることができます。

このプロパティというのは、ボタンコントロールクラスのメンバです。
つまり、ボタンコントロールクラスには、Nameプロパティ・Textプロパティ・Vislbleプロパティ・ForeColorプロパティというメンバなどがあります。
これらの値をプロパティウィンドウや、コード上で変更することによって、ボタンの見た目が変わったり、挙動が変わったりする訳です。

ボタンコントロールの場合、
 何て表示するのか?、
 何色で表示するのか?、
 背景は何色にするのか?、
 イメージはどうするのか?、
など様々な指定ができて、更に、
 最前面に移動する、
 フォーカスをあてる、
 クリックイベントを発生させる、
などの処理ができると良いですね。

それら一つ一つをメンバとしてボタンコントロールクラスが持っています。

さて、以下のリンク先の僕の自己紹介ページを見て下さい。

http://blogs.wankuma.com/rti/archive/2007/07/25/86988.aspx

これは、C# で書いたR・田中一郎という名前のクラスです。
このクラスのメンバには、会員番号プロパティ・名前プロパティ・年齢プロパティ・職業プロパティ・印象プロパティ・自己紹介メソッドがあります。

プロパティメンバは、データメンバとも呼ばれます。つまり、そのクラスに収めるデータということでしょうか。
メソッドは、メンバ関数とも呼ばれます。そのクラスに関連する関数をメソッドといいます。

R・田中一郎クラスには、自己紹介というメソッドしかありません。
従って、R・田中一郎という物体は、自己紹介しかできないという意味になります。

このクラスによって生成されたR・田中一郎オブジェクトの自己紹介メソッドを実行することによって、R・田中一郎オブジェクトは、コンソール画面を通じて皆さんに自己紹介をします。

さて、ここで心配になることがあります。

例えば、100個のボタンが配置されたフォームを作ったとしましょう。
この時、1つのクラスから100個のオブジェクトが生成されることになります。
では、クラスに記述されるメソッドなど手続きに関わる部分も100件分のメモリが使用されてしまうのでしょうか?
まあ、そんな非効率なことはしないだろうとは思ったのですが、僕が初めてオブジェクト指向プログラミングを知った時、この点について少し心配になりました。

しかし、この点については、やはり心配はありませんでした。
オブジェクト単位で覚えておくべきデータの部分と、処理に係る部分は別です。
従って、大量にオブジェクトが作られる恐れのあるようなクラスであっても、何の心配もせず、長くて大量のメソッドを書くことができます。
(ある程度内容を理解すると、内部的にどのようにメモリが確保されるのかについても自然とわかるようになるでしょうけれど)

ところで、我々がわからない時に、いろいろ教えてくれるMSDNライブラリですが、ここを見ると各クラスに実装されているメンバとその説明の一覧表が、殆どのクラスに載っていますので、これらをじっくり眺めてみると、そのクラスが何をしてくれるものかがわかります。

投稿日時 : 2007年7月30日 13:49

Feedback

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門5 2007/08/02 14:03 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門5

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門6 2007/08/07 13:56 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門6

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門11 2007/08/27 15:08 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門11

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門11 2007/08/27 15:29 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門11

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門12 2007/08/28 13:56 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門12

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門12 2007/08/28 14:40 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門12

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門13 2007/08/31 14:30 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門13

# R流、一瞬でわかる.NETオブジェクト指向プログラミング入門14 2007/09/06 18:55 R.Tanaka.Ichiro's Blog

R流、一瞬でわかる.NETオブジェクト指向プログラミング入門14

# <url>http://www.findfreeinsurancequotes.net/|auto insurance online</url> =-DD <url>http://www.bestmedsoffers.net/|priligy</url> :-)) 2012/08/24 19:30 Darence

<url>http://www.findfreeinsurancequotes.net/|auto insurance online</url> =-DD <url>http://www.bestmedsoffers.net/|priligy</url> :-))

# <url>http://www.getlifeinsurancequotes.net/|life insurance</url> rxh <url>http://www.get-autoinsurance.com/|auto insurance</url> 23154 <url>http://www.autosinsurance4u.com/|auto insurance</url> =-D 2012/10/23 4:01 Tess

<url>http://www.getlifeinsurancequotes.net/|life insurance</url> rxh <url>http://www.get-autoinsurance.com/|auto insurance</url> 23154 <url>http://www.autosinsurance4u.com/|auto insurance</url> =-D

# <url>http://www.insurancequotesmi.net/|auto insurance quotes</url> zai <url>http://www.oldstylelist.com/|buy auto insurance online</url> tknnst <url>http://www.comparecarinsurrates.com/|car insurance in florida</url> 8- 2012/10/31 8:36 Wood

<url>http://www.insurancequotesmi.net/|auto insurance quotes</url> zai <url>http://www.oldstylelist.com/|buy auto insurance online</url> tknnst <url>http://www.comparecarinsurrates.com/|car insurance in florida</url> 8-[[[

# <url>http://www.car-insur-online.com/|car insurance</url> 747 <url>http://www.insurancequotesmi.net/|auto insurance quotes mi</url> 63806 <url>http://www.comparecarinsurrates.com/|car insurance rates</url> ciid 2012/11/12 1:27 Bobbi

<url>http://www.car-insur-online.com/|car insurance</url> 747 <url>http://www.insurancequotesmi.net/|auto insurance quotes mi</url> 63806 <url>http://www.comparecarinsurrates.com/|car insurance rates</url> ciid

タイトル
名前
Url
コメント