2015/02/22更新

同じ手順名のオーバロード

通常は、ひとつの種類で、同じ名前の手順を定義することはできません。

ただし、手順に必要な情報(引数と助詞)やその数が違えば、同じ名前の手順を複数作ることができます。
このような同じ名前の手順でも、必要な情報が違う手順を定義することを手順のオーバロードと呼びます。 

手順のオーバロードの例

次の例では、犬種類に、引数の型が異なる「見る」手順が2つ定義されています。
この2つの手順は、「~を」で指定した対象に応じて実行する手順が変わります。

ぽちという犬を作る
健太という家族を作る
山田さんという知らない人を作る
ぽちが健太を見る
ぽちが山田さんを見る

犬とは
  [自分]が、知らない人である[人]を、見た手順
    「ワン!ワン!ワン!」を表示する
  終わり

  [自分]が、家族である[人]を、見た手順
    「きゅうきゅん」を表示する
  終わり
終わり

人とは

終わり
知らない人とは
  人を継承する
終わり
家族とは
  人を継承する
終わり

オーバロードできる基準

同じ名前の手順を複数作る条件には、次の点が関係します。オーバロードできる手順を定義するには、同じ名前の他の手順と、引数の数、助詞、引数の型が違っている必要があります。

  • 引数の数・・・引数は、変数と助詞の組みを表します。
  • 助詞・・・助詞とは、“を”や“へ”など、引数に添えられる識別子です。
  • 引数の型・・・引数の型とは、引数の変数の型です。「○○である」や「:○○」などで書くことで指定します。

オーバロードできる例

1.次の例は、引数の数が異なるので、同じ名前の手順を定義できます。

[ファイル名]を、[ソフト名]で、開く手順

終わり

[ファイル名]を、開く手順

終わり

2.次の例は、引数の個数と変数の名前、引数に添えられた助詞は同じですが、引数の型が異なるので、同じ名前の手順を定義できます。

数値である[値]を足す手順

終わり

文字列である[値]を足す手順

終わり

3.次の例は、引数の個数と引数の型は同じですが、引数に添えられた助詞が異なるので、同じ名前の手順を定義できます。

文字列である[名前]と、走る手順

終わり

文字列である[名前]へ、走る手順

終わり

オーバロードできない例

次の例は、引数の名前は異なりますが、引数の型と引数に添えられた助詞、その数も、同じなため同じ名前の手順を定義できません。

文字列である[ソフト名]を起動する手順

終わり

文字列である[ファイル名]を起動する手順

終わり

 

次は 6.配列(応用編)