[1643] 種類の多態の動作

投稿日 2018/09/19(Wed) 22:48:25
投稿者 通りすがり
参照先

派生種類のインスタンスの、基底種類の手順を呼び出し、
その手順内から、派生種類の中の手順を呼び出そうとしています。
(同じ基底種類から、複数の派生種類を定義して、処理の部分的な
 共通化をしようとしています)

実行する処理方法の順番や、種類の順番を変えてみても、どうも、
どこかの時点で、解決に行く種類が固定されてしまうようです。
以下のプログラムのまま実行した場合、種類名の表示は、それぞれ
期待した通りなのですが、処理2の実行による表示は全て「C」に
なります(Aを除き、種類名と同じメッセージが表示されるのを期待している)。
-------------------
種類Aとは
 【自分】で処理1する手順
  処理2する
 終わり
 処理2する手順
 終わり
終わり

種類Bとは
 種類Aを継承
 処理2する手順
  「B」を表示
 終わり
終わり

種類Cとは
 種類Aを継承
 処理2する手順
  「C」を表示
 終わり
終わり

種類配列は、{}
種類配列に、(種類Bを作ったもの)を加える
種類配列に、(種類Cを作ったもの)を加える
種類配列に、(種類Aを作ったもの)を加える

個別は、種類Cを作ったもの
個別の種類名を表示する
個別で処理1する
個別は、種類Bを作ったもの
個別の種類名を表示する
個別で処理1する

種類配列を、アイテムにそれぞれ繰り返す
 アイテムの種類名を表示する
 アイテムで処理1する
繰り返す終わり
-----
すべて、基底種類が呼ばれるのであれば、仕様としてはありそうなのですが、
動きが仕様っぽくないので、報告しておきます。


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -