同じ手順名のオーバロード
通常は、ひとつの種類で、同じ名前の手順を定義することはできません。
ただし、手順に必要な情報(引数と助詞)やその数が違えば、同じ名前の手順を複数作ることができます。
このような同じ名前の手順でも、必要な情報が違う手順を定義することを手順のオーバロードと呼びます。
手順のオーバロードの例
次の例では、犬種類に、引数の型が異なる「見る」手順が2つ定義されています。
この2つの手順は、「~を」で指定した対象に応じて実行する手順が変わります。
ぽちという犬を作る
健太という家族を作る
山田さんという知らない人を作る
ぽちが健太を見る
ぽちが山田さんを見る
犬とは
[自分]が、知らない人である[人]を、見た手順
「ワン!ワン!ワン!」を表示する
終わり
[自分]が、家族である[人]を、見た手順
「きゅうきゅん」を表示する
終わり
終わり
人とは
終わり
知らない人とは
人を継承する
終わり
家族とは
人を継承する
終わり
オーバロードできる基準
同じ名前の手順を複数作る条件には、次の点が関係します。オーバロードできる手順を定義するには、同じ名前の他の手順と、引数の数、助詞、引数の型が違っている必要があります。
- 引数の数・・・引数は、変数と助詞の組みを表します。
- 助詞・・・助詞とは、“を”や“へ”など、引数に添えられる識別子です。
- 引数の型・・・引数の型とは、引数の変数の型です。「○○である」や「:○○」などで書くことで指定します。
オーバロードできる例
1.次の例は、引数の数が異なるので、同じ名前の手順を定義できます。
[ファイル名]を、[ソフト名]で、開く手順
終わり
[ファイル名]を、開く手順
終わり
2.次の例は、引数の個数と変数の名前、引数に添えられた助詞は同じですが、引数の型が異なるので、同じ名前の手順を定義できます。
数値である[値]を足す手順
終わり
文字列である[値]を足す手順
終わり
3.次の例は、引数の個数と引数の型は同じですが、引数に添えられた助詞が異なるので、同じ名前の手順を定義できます。
文字列である[名前]と、走る手順
終わり
文字列である[名前]へ、走る手順
終わり
オーバロードできない例
次の例は、引数の名前は異なりますが、引数の型と引数に添えられた助詞、その数も、同じなため同じ名前の手順を定義できません。
文字列である[ソフト名]を起動する手順
終わり
文字列である[ファイル名]を起動する手順
終わり
次は 6.配列(応用編)