メソッドへの引数と戻り値の型について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 メソッドへの引数と戻り値の型について

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • 著者
    投稿
  • #7018
    TENTEN
    一般参加者

    お世話になります。

    メソッドへの引数および、メソッドからの戻り値の型について確認させてください。
    MZ platform への疑問というよりは、Java への疑問の様な気もしますが、ご回答いただけると幸いです。
    当方、C++は若干の経験はありますが、Javaは未経験です。 頓珍漢な質問かもしれませんが、その際はご容赦ください。

    例として「加算(+)」コンポーネントを取り上げていますが、他のコンポーネントも同様です。

    (1) 引数
    添付ファイルに「起動メソッド情報」を二つ記載していますが、どちらも正常動作します。
    それは良いのですが、引数の型がそれぞれ「Object」や「String」と明示されているのに、「Integer」型を与えて正常動作するのが釈然としません。
    MZ(Java?)の中でキャストやオーバーロード等が働いて、何事も無く動作するのでしょうか。
    そうすると、「型」に何が指定されているかはあまり意識しなくても良さそうな気がしますが、どうなのでしょう。
    さすがに数値型の引数にテーブル型を与えるのは駄目な気がしますが、どこまでMZに任せて良いのかの線引きが判断できずにいます。

    (2) 戻り値
    コンポーネントリファレンスには戻り値の型が記載されていません。
    なぜだろうと思いましたが、たまたま見つけた https://teratail.com/questions/19945 によれば、回答の通りに実装すればどの型にも変換できる様です。
    メソッドの呼び出し側で型変換できるので、コンポーネントリファレンスに記載されていないのだろうと想像しましたが、その理解で合っていますでしょうか。
    また、戻り値も変換可能な範囲があると想像しますが、その理解で合っていますでしょうか。

    #7021
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。

    (1)特に数値型の値に関しては、できるだけデータ型が違っても処理できるようにMZPlatformのコンポーネントの中で設定をしております。また、メソッド「数値変換・・・」の引数に文字列型で設定された数字は[演算]コンポーネント中で数値に変換されて、演算されています。特に演算に関するコンポーネントは使用頻度が多く、またなるべくプログラミングを意識せず使用できるようにというMZPlatformの基本思想があり、このような仕様になっております。

    (2)Javadocのメソッドの詳細欄の「戻り値」の項には戻り値についての説明が記述されています。戻り値のデータ型は、メソッドのサマリー欄で「修飾子とタイプ」項にある型、またはメソッド詳細欄のpublcとメソッド名の間の記述(例:public int getRowCount() =テーブル行数を取得するメソッドの戻り値はint型)で確認することができます。

    以上、ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡ください。
    よろしくお願い申し上げます。

    #7024
    TENTEN
    一般参加者

    ご回答ありがとうございました。

    (1)
    ユーザーへの便宜のために自動変換をしていると理解いたしました。

    (2)
    Javadoc とは
    https://ssl.monozukuri.org/mzplatform/mzpf_docs/2.10/javadoc/index.html
    でしょうか。 そうであれば、残念ながら今の私のレベルでは読み解けないので、当面はコンポーネントリファレンスの説明から想像する事にします。
    なお、コンポーネントリファレンスの “Javadoc” および “MZ Platform Javadoc” のリンク設定が正しくない様です。

    #7030
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    各コンポーネントについてのJavadocは、コンポーネントリファレンス右側ページの「クラス名」に貼ってあるリンクをクリックすると、該当のコンポーネントについてのJavadocのページが開かれます。

    しかしながら、本サイトのダウンロードページ>ドキュメントインデックス>コンポーネントリファレンスでは情報の制限の関係で、javadocがリンクされておりませんで、ご不便をお掛けいたします。

    お手元にダウンロードされたコンポーネントリファレンスを表示するには、ページの一部がXML文書になっている関係で、白紙になってしまい表示されない場合がありますが、MicrosoftEdgeを使ってEdge右上「・・・」メニューから「InternetExplorerモードで再読み込みする」を選び、InternetExplorerモードで表示すると表示できます。

    以上、お手数をお掛けいたしますが、よろしければお試しください。

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • このトピックに返信するには、ログインしてください。