• ベストアンサー

メソッドは戻り値はなし プロパティは戻り値を返す?

オブジェクトブラウザを見てもよくわからなかったのですが メソッドは戻り値はなしで、 プロパティは戻り値を返す、 と言う認識で合ってますか?

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

  • ベストアンサー
回答No.2

こんばんは。 オブジェクト指向を勉強すると分かります。 VBAでは、完全に、オブジェクト指向を書くことはできませんが、ある程度のことは可能です。 一般的には、メソッドは動作を表し、プロパティはオブジェクトの性質を表します。 オブジェクトの説明すると、 オブジェクト--人間 (インスタンス--各個人) プロパティ--身長、体重などの性質 メソッド--動作、仕事 クラス(オブジェクトの設計図)で考えると簡単な区分けですが、 Sub が戻り値を返さないメソッド、 Function が、戻り値を返すメソッド、 Property(プロパティ・プロシージャ)は、二種類あって、 読み取り用と、Property Get で、 書き込み用は、Property Let や Property Set があります。 Property は、Function と等価で、クラスで用いられるものです。 したがって、戻り値を返す・返さないという区分けでは区別できません。 #1さんのリンク先の http://d.hatena.ne.jp/micdonalds/20101122/1290427869 × Rangeオブジェクトのメソッドの「End」(正しくは、プロパティです) Range("B4").End(xlUp).Select Rangeオブジェクトに対するEndは、End プロパティといいます。 とても間違えやすいです。手動では、ワークシートで矢印キーを利用して、セルの位置を取得するから、メソッドと思いがちですが、本来、End は、サイズや大きさのことです。それ反して、Findはメソッドです。仮想空間ではあるのですが物理的な検索です。 導入部分は、私と考え方が違いますが、入門編として、ここがよいと思います。 http://allabout.co.jp/gm/gc/297719/ しかし、文中の「ピリオドの後はプロパティなのかメソッドなのか」ということは考えなくてよいと思うのです。我々は、別に、プロパティ、メソッドだから、どうするかと考えてコーディングするわけではなく、クラスで設計する時、意識するだけだからです。

pwxobdmyr
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1644/2494)
回答No.1

多くのメソッドは戻り値がなく何かの動作を指定するものですが、たとえば、Findメソッドは検索結果を返しますので、メソッドは戻り値がないとは言えませんし、プロパティは戻り値を返すだけではなく項目の設定もできます。 こちらに非常に簡単ですが、プロパティとメソッドについて説明がされています。 http://d.hatena.ne.jp/micdonalds/20101112/1289569631 http://d.hatena.ne.jp/micdonalds/20101122/1290427869 もっとくわしく両方とも説明されているページを探そうと思ったのですがうまく探しきれませんでした。

pwxobdmyr
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • どれがプロパティでどれがメソッド?

    例えば、 ActiveWindow.WindowState = xlMinimized と言うコードがあるとしたら ActiveWindow WindowState xlMinimized はそれぞれオブジェクト・メソッド・プロパティの何になるのでしょうか? オブジェクトブラウザ確認したら、 ActiveWindowとWindowState はアイコンからプロパティかな?ってわかったのですが、 xlMinimizedに関してはアイコンの意味もわかりません。

  • プロパティとメソッドが混乱してくる

    ActiveSheet.Cells.SpecialCells(xlLastCell).Addressというステートメントがあるとします。 このどれがメソッドで、どれがプロパティでどれがオブジェクトで、どれがコレクションでと わからなくなってきます。特にメソッドとプロパティは"."で区切られるので混乱してきます。 ActiveSheetオブジェクトのCellsメソッドのSpecialCellsプロパティのAddressプロパティに なるんでしょうか?これは一例ですが、ドットが沢山連なるにつれて意味がわからなくなってきます。 どれがプロパティでどれがメソッドでなどです。どのように見分ければいいでしょか?一応は メソッド、プロパティの違いは理解しているつもりです。

  • 戻り値のないメソッド

    戻り値のないメソッドって意味あるんですか? 例えばどういうときに有効なのでしょうか?

    • ベストアンサー
    • Java
  • オブジェクトやプロパティ、メソッドに付いて

    今、JavaScriptを覚えようとしてるのですが、オブジェクトから訳が分からなくなってきました。 ゲームに例えたら、自機がオブジェクトで、プロパティが自機のステータスで、 メソッドがいろいろな動作をさせる関数って感じでいいんでしょうか? それと、オブジェクトは下のようにメソッドやパラメータを使用しますが、 パラメータ=="値" って感じなのでしょうか?? オブジェクト名.メソッド名(パラメータ); オブジェクト名.プロパティ名="値"; よろしくご指導お願いします。

  • VBAのオブジェクト、プロパティ、メソッドの集まった本あるでしょうか

    Excel,AccessのVBAを学んでいますが、オブジェクト、プロパティ、メソッドの数がハンパなく沢山あります。ネットでもいろいろ情報がありますが、本でオブジェクト、プロパティ、メソッドが網羅されているものがあれば欲しいと思っています。アマゾンで探してみましたが、いまいちどの本が網羅されているのかわかりません。何かよい本があったらご教授くださいませ。マイクロソフトのページではちょっとわかりにくいので、第三者が書いた本が欲しいなと思っています。

  • 静的プロパティと静的メソッドの使い方

    インスタンスメソッドやインスタンスプロパティをアロー演算子で参照する方法と 静的メソッドや静的プロパティを「::」演算子で参照する方法があるかと思います。 静的に呼び出すメリットとはどのような場合が挙げられますでしょうか?

    • ベストアンサー
    • PHP
  • 戻り値で返したオブジェクトの寿命について

    Ruby初心者です。 【前置き】 メソッドで宣言した変数(以下arr)に値(以下[1,2,3])を代入し戻り値として返した場合、 メソッドの戻り値(以下retArr)には、[1,2,3]への参照(arr.object_id)が設定されると認識しております。 ----------------------- def method arr = [1,2,3] return arr end retArr = method() ----------------------- 【質問】 C言語の場合、関数内で宣言したローカル変数のアドレスを戻り値として返却した場合、 関数を抜けた時点で、そのアドレスの内容は保障されなくなりますが、 1.Rubyではその様な問題がなく動作するのは、何故でしょうか? 2.また、メソッド内で宣言したオブジェクト(上記[1,2,3])の寿命はいつまでなのでしょうか? 【備考】 いろいろと調べてみたのですが、オブジェクトの参照(object_id)は、ポインタに近い概念であることは記載されているのですが、その仕組みを理解できずに悩んでします。

    • ベストアンサー
    • Ruby
  • メソッドの戻り値がnull

    現在システム開発中です。 true,falseを返すメソッドを改修して、3つの状態を返すようにしたいです。そこでnullも返すようにしたいのですが、戻り値にnullは良くないのでしょうか。理由も教えて頂けると幸いです。

  • ExecuteNonQueryメソッドの戻り値

    C#.Netを使用して、Webアプリケーションを作成しており、その中でExecuteNonQueryメソッドを使用してストアドを実行しています。 そのストアド内では、さらに別のストアド(それぞれUpdate処理を実行)を2回~5回実行しています。 このときのExecuteNonQueryの戻り値は、Update処理が行われた回数(実際に更新されたレコード件数ではない)になります。ストアド内でエラーが発生した場合は、戻り値を返さずにエラーで終了します。 しかし稀にですが、戻り値が「0」になることがあります。 行われるはずのUpdate処理は行われず、かといってエラーでもない。というのでしょうか?原因が分からずに困っています。 どのような状況の場合に戻り値が「0」になるのか、ご存知の方教えてください。

  • メソッドの戻り値をインターフェースとする利点ってなんでしょうか?

    メソッドの戻り値をインターフェースとする利点ってなんでしょうか? サードパーティ製のライブラリなどでよく見かけますが 具体的にどういう利点があるのでしょうか?

このQ&Aのポイント
  • EHC-G05MN2-HJBは、エレコム株式会社が製造したIPv6対応の製品です。
  • EHC-G05MN2-HJBは、IPV6に対応している製品ですか?
  • エレコム株式会社の製品であるEHC-G05MN2-HJBは、IPv6に対応していますか?
回答を見る

専門家に質問してみよう