|
分類:[C#]
C#初心者です。 開発環境はVisual C# 2010 Expressです。
スーパークラスから継承されたクラスが複数あり、 それらのインスタンスを同じ配列で作ろうとしています。たとえばこんな感じ。
public class Student { ... }
public class ElementarySchoolStudent : Student { ... }
public class HighSchoolStudent : Student { ... }
/* 配列の宣言 */ ○○○[] student = new ○○○[100];
/* コンストラクタ呼び出し */ ElementarySchoolStudent student[0] = new ElementarySchoolStudent("Taro"): ElementarySchoolStudent student[1] = new ElementarySchoolStudent("Hanako"): HighSchoolStudent student[2] = new HighSchoolStudent("Ichiro"): ... HighSchoolStudent student[99] = new HighSchoolStudent("Jiro"):
↑実際は、名前とElementarySchoolStudent, HighSchoolStudentの別が書かれたファイルを読んで、 順番に生成していきます。
こうしておいて、student[i].TellMePiとかすると、ElementarySchoolStudentは3と返し、HighSchoolStudentは3.14 を返すみたいなプログラムを作りたいのです。
このような事は可能でしょうか? また、どう書けば良いでしょうか?
あと、配列studentをサブルーチンに渡す際、どう書けば良いのでしょうか? サブルーチンを定義する方で、 サブルーチン名(○○○[] student){} と書きますが、○○○はどう書けば良いのでしょうか?
すみませんが、よろしくお願いします。
|