• 締切済み

オブジェクト指向はどう利用するのですか?

オブジェクト指向はどう利用するのですか? JavaScript初心者です。 初心者から中級者になるには、このオブジェクト指向をマスターする必要があるのですが、(個人の見解です...)オブジェクト指向がさっぱりです。 まず、オブジェクトは数を代入するもので、 オブジェクト名.変数名 = 変数値; alert(↑) で、変数値が表示されることはわかりました。 しかし、利用方法が分かりません。 オブジェクトに代入しなくても、 num_aaa=123; num_bbb=456; や、 num[1] =123 ; num[2]=456; と配列を使うのもいいと思います。 オブジェクトでは、何ができるのでしょうか??

みんなの回答

回答No.12

オブジェクト指向言語を使ったからと言ってオブジェクト指向プログラミングが作成できる訳ではありません。 例えば Java でクラスを作り、クラスに「プロパティー(フィールド変数)、メソッド」を作ったからと言ってオブジェクト指向プログラミングが作成できる訳ではありません。 昔はプロのプログラマーでも(「クラス、プロパティー(フィールド変数)、メソッド」を使っているけど)全然オブジェクト指向プログラミングになっていないなどと言う笑い話のような実話もあったようです。

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

(java は変数の型が厳格ですが)JavaScript は変数に なんでも代入できて一見 便利そうですが、変数に なんでも代入できると言うのは(大きなプログラムになると)ヒューマン・エラーの温床になります。 言語固有の言語仕様は さて置き、オブジェクトとは何者か、メソッドとは何なのか、オブジェクト志向プログラミングの基本の基本を説明します。 自動車を例にすると、自動車がオブジェクトです。 「アクセル、ブレーキ」などがメソッドに対応します。 ユーザーがアクセルを踏むと自動車に対して「スピードを出せ」と言う"命令"になります。 ユーザーがブレーキを踏むと自動車に対して「減速しろ、又は停止しろ」と言う"命令"になります。 つまり、メソッドはオブジェクトに対する"命令"となります。 下記 画像は自動車部品のモジュール化(自動車部品の共通化)により、労力(開発コスト)の削減を実現していますが、これがオブジェクトの継承に対応します(この場合 多重継承になってしまってますが…)。 現存する利用可能なクラスを継承すれば労力を削減でき、その分 ヒューマン・エラーも多少 削減できます。

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

下記サイトは基本が分かりやすそうな雰囲気です。 Google流 JavaScript におけるクラス定義の実現方法 http://www.yunabe.jp/docs/javascript_class_in_google.html

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

> JavaScript初心者です。 > 初心者から中級者になるには、このオブジェクト指向をマスターする必要があるのですが、(個人の見解です...)オブジェクト指向がさっぱりです。 ああ、Java ではなくて、JavaScript でしたか。 個人的には JavaScript にオブジェクト志向は全く必要ないと思いますが…。 Java のオブジェクト指向なら分かりますが、JavaScript のオブジェクト指向は さっぱり分かりません(分かろうと言う努力をしてない訳ですけど…) 下記には「正しい継承」と「やっては いけない継承」が書かれているようです。 [JavaScript] そんな継承はイヤだ - クラス定義 - オブジェクト作成 http://qiita.com/LightSpeedC/items/d307d809ecf2710bd957

全文を見る
すると、全ての回答が全文表示されます。
noname#221368
noname#221368
回答No.8

 ごちゃごちゃ書くのはやめました(^^;)。「オブジェクト指向狂詩曲(ラプソディー)」という本が面白いかも知れません。   http://www.amazon.co.jp/TURBO-C-BORLAND-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E7%8B%82%E8%A9%A9%E6%9B%B2/dp/4874084842  オブジェクト指向という「設計思想」について、読みようによっては非常に具体的に書かれた本です。日本でのオブジェクト指向揺籃期のもので、著者「吉田弘一郎」は密かに、1980~1990年代の日本のオブジェクト指向設計のオピニオンリ-ダーでした。  今ではあんまり読まれない気はしますが、けっこう有名な本でもあります。   http://ci.nii.ac.jp/ncid/BN07547805  最初はマウスをカーソルキーで動かそうとしていた当時の自分は、Windowsにカルチャーショックを受けていた、DOS上Fortranの純粋培養の手続き型プログラマーでした。  イベント・ドリブン(←今では死語),オブジェクト指向,GUIなどのカルチャーショックの破壊力は甚大で、「もう撤退かな?」と思いだした頃に出会った本が上記です。読んだら、なんとなぁ~く生き残れそうな気がしてきて今にいたっています(^^;)。大げさに言えば、自分のプログラマーとしての世界観を、Windowsの世界用に作りなおしてくれた本です。  吉田さんは「JAVA」の本も書いています。この人は「設計思想」を語るのが好きです。きっと普通とは一味違った「世界観」を教えてくれると思います。そしてこの人は「語り」ます(^^)。  ・・・という訳で、「ごちゃごちゃ書いちゃいました(^^;)」。

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

> ★クラス(設計図)からインスタンス(実体)を量産できる > 分かりやすく例えるとクラス(設計図)からのクローニング(複製)による再利用(この場合 、オブジェクトからオブジェクトをクローニングすると言う事ではありません。) ↑これは生物的な意味でのクローニングの例えですので、下記のように訂正した方が分かりやすいですね。 ★クラス(設計図)からインスタンス(実体)を量産できる。 分かりやすく生物で例えるとDNAを再利用してクローン(複製)を量産できる(この場合 、オブジェクトからオブジェクトをクローニングすると言う意味ではありません。)

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

> 単純に言うとオブジェクト志向プログラミングの肝は"再利用"です。 > > ★クラス(設計図)からインスタンス(実体)を量産できる > 分かりやすく例えるとクラス(設計図)からのクローニング(複製)による再利用(この場合 、オブジェクトからオブジェクトをクローニングすると言う事ではありません。) > > ★クラスを継承し機能を拡張できる。 > この場合、当然ゼロから作るのではなく継承元のクラスを活用する事ができるので、その分 労力の削減でき、手間が少なくなるので その分 プログラミング上のヒューマン・エラーも多少 減らせます。 > > ★ラップ(分かりやすく例えるとプラグイン)によるオブジェクトの再利用。 > 様々なオブジェクトを乗せ変えて活用させる事ができます(実際の PC で分かりやすく例えるなら高性能グラフィック・ボードを挿す、高音質サウンド・ボードを挿す、高速LANボードを挿す、みたいな感じで機能を拡張できる)。 > > ★オブジェクト志向プログラミングのデメリットは肥大化です。 > つまり、上記のように再利用できないモノはオブジェクト化のメリットがなく、デメリットだけだと言って良い程です。 (蛇足ですが)コンパイラーによる型チェックでヒューマン・エラーを減らす、と言うオブジェクト志向プログラミングの理念みたいなモノがあった訳ですが、以前は その理念に反し自作のノード・リストは Object 型にして何でもブチ込めるようにしていた訳ですが、Java の場合 「Java 5(JDK1.5)」から"総称型"(ジェネリクス)がサーポートされ、今まで お題目だったコンパイラーによるクラス型のチェックが実用的なレベルになったと言えるでしょう(実行時エラーが出てデバックするよりは非常に簡単)。

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

> まず、オブジェクトは数を代入するもので、 > オブジェクト名.変数名 = 変数値; > alert(↑) > で、変数値が表示されることはわかりました。 プロパティー(フィールド変数)だけのオブジェクトも有って良いのですが、オブジェクトは「プロパティー(フィールド変数)、メソッド(関数)、他のオブジェクト」を内包する事ができます。 RPG で具体的な例で説明すると、 (オブジェクト)キャラA:『(プロパティー)「<職業>:勇者、<HP>:100、<MP>:50、<経験値>:200」、(メソッド)「<コマンド>:{打撃、魔法、治癒}」』 (オブジェクト)キャラB:『(プロパティー)「<職業>:魔法使い、<HP>:60、<MP>:100、<経験値>:210」、(メソッド)「<コマンド>:{打撃、魔法、治癒}」』 (オブジェクト)キャラC:『(プロパティー)「<職業>:僧侶、<HP>:50、<MP>:60、<経験値>:220」、(メソッド)「<コマンド>:{打撃、魔法、治癒}」』 などのような感じで、(オブジェクトなら)キャラごとに (この場合はプロパティー、メソッドを)キャラと一体化して保持できます(正確に言うと「キャラA、キャラB、キャラC」はインスタンス(実体)です)。 オブジェクト化しない場合は「プロパティー、メソッド」などが一体化しておらず、プログラミング上のヒューマン・エラーが(オブジェクト化した場合に比べ、相対的に多少)発生しやすくなってしまいます。 単純に言うとオブジェクト志向プログラミングの肝は"再利用"です。 ★クラス(設計図)からインスタンス(実体)を量産できる 分かりやすく例えるとクラス(設計図)からのクローニング(複製)による再利用(この場合 、オブジェクトからオブジェクトをクローニングすると言う事ではありません。) ★クラスを継承し機能を拡張できる。 この場合、当然ゼロから作るのではなく継承元のクラスを活用する事ができるので、その分 労力の削減でき、手間が少なくなるので その分 プログラミング上のヒューマン・エラーも多少 減らせます。 ★ラップ(分かりやすく例えるとプラグイン)によるオブジェクトの再利用。 様々なオブジェクトを乗せ変えて活用させる事ができます(実際の PC で分かりやすく例えるなら高性能グラフィック・ボードを挿す、高音質サウンド・ボードを挿す、高速LANボードを挿す、みたいな感じで機能を拡張できる)。 ★オブジェクト志向プログラミングのデメリットは肥大化です。 つまり、上記のように再利用できないモノはオブジェクト化のメリットがなく、デメリットだけだと言って良い程です。 (クラスの継承は機能の拡張なので、実際の意味合いは違いますが、分かりやすく例えるなら)クラスの継承は系統樹のようなイメージです。 添付画像の名前が付いてる部分がクラスに対応します。

全文を見る
すると、全ての回答が全文表示されます。
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.4

>オブジェクトに代入しなくても、 >… >と配列を使うのもいいと思います。 そうです。誤解を恐れずに言えば問題ありません。 >オブジェクトでは、何ができるのでしょうか?? 一言でいうとグルーピングが容易にできるようになります。簡単なプログラムでは少ない変数ですみます。この場合にはオブジェクト指向は不要です。 しかし、近年は処理がどんどん複雑になり、また扱うデータ量も膨大になりました。万単位・億単位の処理も珍しくありません。すると num_aaa=123; num[1] =123 ; こういう書き方だと管理がつらくなります。それを少しでも容易にするための工夫です。 ですので、小規模で取り扱う変数の少ないプログラムだったら、オブジェクト指向で記述する必要など全くありません。頑張って書くだけ無駄です。 規模に応じてどのように書くべきか判断できる能力が必要です。

全文を見る
すると、全ての回答が全文表示されます。
  • catpow
  • ベストアンサー率24% (620/2527)
回答No.3

>>オブジェクトでは、何ができるのでしょうか?? 以下は私の個人的な見解ですので、広く認められたものではないことを、あらかじめ断っておきます。 ソフトウエアの開発は手間も時間がかかります。 それで、仕事には主として汎用機が使われていたころのことですが、ソフトウエア部品のライブラリ整備を誰もがやろうとしました。 しかし、プログラムは、プロセス+データで構成されています。 そのため、プロセス部分とデータ部分を別のプログラムでうまく再利用するのは、割と面倒なことでした。 それで、ライブラリを整備しても、使われないことが多かったと記憶しています。 (特に、COBOLでは再利用は、やりにくかったです。 開発言語をPL/Iに変更すると、いくらか改善されたのですけど、COBOLに比較して、メモリ大量消費し、さらに実行速度も遅くなりました。大量メモリといっても、当時、私が使っていた汎用機では、最大パーティションでも、800KBでした。今から思うとかわいいものですね。) そこでプログラム(メソッド)とデータ(データ・プロパティ)をパッケージングしてしまえば、パーツの再利用が容易になるのでは?と考えた方がいたのだと思います。 (それは「C++の設計と進化」の著者のBjarne Stroustrupさんかな?) そしてC++は、STL(Standard Template Library)を整備しました。 このすばらしいSTLをうまく使いこなせば、1週間かかるプログラム作業が、バグ無しで、1日で完成することも夢ではありませんでした。 (ただし、C++を理解して、使いこなすのは、多くの人にとって大きな壁になっている気もします) 例えば、家を建築するとして、一軒ごと床材とか壁板を作っていたら工期がとても長くなりますよね?また、キッチンやお風呂、トイレなどをゼロから作っていたとしても、同様です。 ですから、多くの方は、床材、壁板は素材カタログから選びますし、キッチンはシステムキッチンのカタログから、お風呂はユニットバスのカタログから選びます。 つまりは、レゴブロックのようにソフト開発をすることで、開発期間・工数を大きく減らすことが可能になるのです。 そして、マイクロソフトのC#は、オブジェクト指向に加えて、ラムダ式やメタ・プログラミングなどの手法を駆使した膨大なdotNet Frameworkを整備しました。 これにより、以前であれば1ヶ月かかるようなソフト開発が1日で終わってしまうこともありうるようになったのです。 JavaScriptも方向性は同じだと思います。 頭のよい天才的なプログラマさんたちが整備してくれた(平凡なプログラマではとうてい作れない高度な)ライブラリー、フレームワークを再利用し、オブジェクト指向を理解して活用することで、欲しいソフトウエアを短期間でバグを最小限にして作り上げることが可能になるのです。

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

関連するQ&A

  • オブジェクト指向Perlの勉強の仕方について

    今までPerlで掲示板などを自作した事があるのですが、オブジェクト指向をまったく取り入れていません。 オブジェクト指向でないPerlプログラミングについてはおおよそ理解しているつもりなのですが、 オブジェクト指向Perlについては全く理解できていません。 書籍を探しても、Perlについての書籍は大抵が初心者向けのものか、私にとっては難解なもの(オライリーなど)ばかりで、ちょうどいい程度の書籍が見当たらないのですが、 何かオススメの書籍がありましたらご紹介ください。 ---参考:私が理解している範囲--- 1.Perlプログラミングの基礎 変数、配列、ハッシュなどのデータ型 ループやサブルーチン、ライブラリなどの構造 2.オブジェクト指向について MacromediaFlashのActionScriptがある程度 理解できていますので、 「オブジェクト指向とは何か」 は多少理解しているつもりでいます。 (錯覚かもしれませんが) 3.目的 PerlMagickなどのパッケージを利用したいのだが、 利用方法がわからないため ------------------ 以上、身勝手な質問で恐縮ですが、 よろしくお願いします。

    • ベストアンサー
    • Perl
  • オブジェクト指向の本当の便利な点。

    オブジェクト指向の特徴は、ある程度分かりました。 が、個人で小さなソフトを作り、できるだけ自分でプログラムを作りたいため、オブジェクト指向の利点が今ひとつ分かりません。 PHPでは、構造化でできるだけグローバル変数を減らし、関数内でも関数名+変数名という変数名にしていたので、変数の名前が重複すると言ったこともなかったし。 関数名+でない場合も、関数内では不必要な変数は値を解放していたし。 過去の資産も関数を再利用する事もよくありましたし、継承のような事もしていました。 オブジェクト指向の便利さは分かるのですが、どうも実感できないというか、その便利さを持て余しているというか。 構造化プログラミングでも、さほど問題ないし。 delphiなので、JAVAのようにオブジェクト指向(クラス)が必須という訳でもないし。 逆にクラスを作ってしまうと、メモリーから解放しないといけないので、それが少し怖いです。 で、オブジェクト指向の利点をあげるとしたら何ですか? 可能なら、上位から3つくらいを詳しく書いてください。 ソフトは大規模か小規模か、制作者は大勢か少数・個人か、それは構造化プログラミングでは無理な事なのか? オブジェクト指向の利点や特徴は、分かるのですがピンとこないというか、実感できないというか・・・。

  • オブジェクト指向、理解しやすい?

     最近、Javaの解説書や解説サイトを見ていて、しばしば、「Javaは完全なオブジェクト指向だから理解しやすい」といった記述を見かけます。(「プログラムが見やすくなる」とかではなく)  Javaに限った話ではないのですが、個人的に、オブジェクト指向の概念は、プログラミング初心者の最大の関門ではないかと勝手に思っています。僕はPHPから入ったのですが、ある程度基本事項をマスターした後も、オブジェクト指向だけは長い間苦手としてきました。(最近やっと慣れてきたところです。)  そこで伺いたいのですが、最初にやったプログラミング言語がオブジェクト指向だったという方、オブジェクト指向の概念は、 1.わかりやすかった 2.そこでつまずいた 3.特に意識せずに通り過ぎた 4.その他 いずれでしょうか? ※最初にJavaについて書きましたが、これはただの例なので、オブジェクト指向言語全般についての質問であるととらえてください。

  • perlのマクロ演算子?について

    AAA変数にBBB配列名を代入し,AAA変数に配列を入れてBBB配列を使いたいのですが....どのようにするのでしょうか? 例 $count = 1 $AAA = "@BBB_no".$count; ※$AAA = ("ア","イ","ウ","エ"); ↑ここの※の部分に何か加えるのでしょうか?

  • オブジェクト指向で書いた時のフォーム値受取り

    オブジェクト指向で記述したときの、フォームの値の受取の記述方法 がわかりません。 例えば下記のようなフォームがあったとすると ---------------------- <form name="test"> <input type="text" name="name"> <input type="button" value="送信" onClick="testAlert()"> </form> ---------------------- 手続き型では ============================= function testAlert(){  var name = document.test.name.value;  alert(name); } ============================= こんな感じで値を受取りアラート出力できますが、 オブジェクト指向で記述した場合はどうなりますか? ============================= var aaa = function(name){  this.name = name; }; aaa.prototype.test = function(){  return alert(name); }; ============================= こういうような感じだとは思うのですが、ここから先が分かりません。 よろしくお願いします。

  • オブジェクト指向について

    趣味でプログラミングをしているのですが オブジェクト指向の概念がうまく理解できていないので 教えていただけませんでしょうか? 解説本などを読むと、オブジェクト指向のクラスを動物クラスを継承して犬クラスや猫クラスなどと解説してあるのですが。 どうも、僕がプログラム設計するとしっぽクラスや泣き声クラスなどといった違った動物の類似機能をまとめてのクラスをつくり各メソッドとしてしまいまっています。 動物クラスや乗り物クラスを組み合わせてプログラムを設計する事ができません。 本格的なプログラムを組む用途では無いので気にしなくても目的の機能が実装できれば問題無いと知人からは言われ(面倒なので教えたくないのかもしれませんが)そのまま来てしまいました。 最近、気になって来たので。 正しい使い方を身に着けたいと思いチャレンジしていますが、変な癖がついていて犬や猫クラスなどと思いながら設計していると思考が止まってしまいます。 そこで、下記のことを教えていただけませんでしょうか? (1)泣き声クラスなどの同機能を1つのクラスにしてしまう設計しか出来ない(発想できない)のは考え方のどこがわるいのでしょうか? (追記:一部分だけならペンギンクラス猫クラスなどと言う動物クラスの継承的な発想はできるのですが実際のプログラミングの際は動物のようなわかり易い物オブジェクトとして目に見える物体ではない事柄をオブジェクト化にする事が難しく感じるのではないかと思います。) (2)今までの小さい規模での開発なら、クラスのつくり方がおかしくても不具合は無かったのですが、どのような時に困る事があるのでしょうか?(解説などでも再利用性などと、さらっと解説されていますがイマイチぴんときません) (3)正しくオブジェクト指向がマスター出来ている方にとって、どのクラスにどのメソッド実装するか悩む事などはあるのでしょうか? また、設計で一番悩むのはどのあたりですか? (4)UMLのマスターは必須でしょうか?(現在は、なんとなくUMLぽい感じでメモ書きをつくり、えせオブジェクト指向でプログラムを組んでいます。) (5)その他アドバイスがあればお願いします。 ※乱文で問題もハッキリせず質問の整理等がうまくいっていないと思いますが1つの項目だけでも構いませんので、ご教授お願いします。

    • ベストアンサー
    • Java
  • Perl、オブジェクト指向での初期設定ファイルについて。

    Perl、オブジェクト指向での初期設定ファイルについて。 最近、Perlでのオブジェクト指向を勉強中です。 今までのプログラムをオブジェクト指向に書き直そうと思っています。 クラスを作成して呼び出す程度までは理解できたのですが、 今まで、サーバの絶対パスや、データベースの名称などを、 config.pl というファイルを作って、グローバル変数で宣言していました。 例 $local_parh = "/virtual/xxx/bbb/public_html"; $dbname = "testdb"; $dbuser = "username"; でも、オブジェクト指向では、グローバル変数を使わないようにするということで、 このあたりをふつうはどんなふうに作成するのかとおもったのですが、 なかなか検索しても見つかりません。(検索の仕方が悪いのかもしれませんが) 今思いつく方法は、config.pm などを作って -------------------------------------------------- package Config; sub new{ my $class = shift; my $self= { local_path => '/virtual/aaa/bbb/public_html', dbname => 'testdb', dbuser => 'username' }; return bless ($self,$class); } sub get_local_path { my ($self, $name) = @_; return $self->{'local_path'}; } -------------------------------------------------- use Config; $obj=new Config(); $local_path = $obj->get_local_path(); -------------------------------------------------- とするような感じなのですが、なんだかスマートじゃない気がするので 普通ははどんなふうに書くのか教えてもらえますか?

    • ベストアンサー
    • Perl
  • オブジェクト

    VBでimage(オブジェクト名:aaa)をクリックした折  aaa_click() ができます    そこでご質問なのですが、クリックしたオブジェクト名を 取得できるのでしょうか?  例えば xxx_click 関数を作成し、 (1) image(オブジェクト名:aaa)をクリックした折      xxx_click()関数に入って オブジェクト名 aaa と取得      (2) 他のimage(オブジェクト名:bbb)をクリックした折も      xxx_click()関数に入って オブジェクト名 bbb と取得 のような xxx_click 関数を作成することは可能でしょうか? 非常に困っています。教えてください

  • 多次元配列?配列のキー?変数の型?

    PHP勉強中のものです。 予定通りの動作にならんく四苦八苦しています。 どのように修正すれば予定通りになるのか考え方のアドバイスなどお願いします。 処理したいこと 変数$xxxの先頭の文字と最後の文字をsubstr()で取り出し$aaaと$bbbに別けそれぞれ代入しキーとして多次元配列に代入した配列要素を指定してechoで出力したい 試してみたこと $aaa1と$bbb1に直接整数を代入してみたところ、echoで出力された キーになる変数を整数型として変数に代入してみたが希望通りの動作にならなかった。 なにかアドバイス頂けると助かります。 $array = array( "0" =>array("あいうえお","かきくけこ"), "1" =>array("さしすせそ") ); $xxx = "0-1"; $aaa = substr($xxx,0,1); $bbb = substr($xxx,2); $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない $aaa1 = 0; $bbb1 = 1; echo $array[$aaa1][$bbb1]; //出力された $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない

    • ベストアンサー
    • PHP
  • オブジェクト指向コンパイラのインスタンスの構造について

    インタプリタやコンパイラの中身について興味があり勉強しています。といってもまだ簡単な字句解析や構文解析のレベルです。 読んだ本にはオブジェクト指向言語については書かれていませんでした、そこで一つ疑問に思ったこと点について質問させてください。 簡単な言語の場合、使用する変数が宣言されると、その領域がスタックやヒープ空間に確保されるという風に理解しました。 一方オブジェクト指向言語にて、あるクラスのインスタンスを生成した場合を考えます。インスタンスには変数の他に関数やメソッドといった処理手続きが含まれていますよね。その手続きをコンパイルしたコードは何処に置かれているのでしょうか? 手続きのコードもヒープ空間に確保された各インスタンスの領域にコピー(?)されて実行されるのでしょうか。それとも処理手続きの実体は実行プログラムに含まれていて全インスタンスで共通で利用するようになっているのでしょうか。 初心者の素朴な疑問です、ご回答いただければ幸いです。