あるクラスのインスタンスを継承しているクラス型に格納するという話を何度か目にしました。
学部時代に研究室の先輩に説明してもらったのですが、なぜこのようなことをすると便利なのか忘れてしまいました。
どなたかご回答、よろしくお願いします。
ーーーーーーーーーコードーーーーーーーーーーーーーーーーーーー
1: namespace ConsoleApplication5
2: {
3: using System;
4:
5: public class Person
6: {
7: public virtual string getName()
8: {
9: return "私には名前がありません。";
10: }
11: }
12:
13: public class Taro : Person
14: {
15: public override string getName()
16: {
17: return "私の名前は太郎です。";
18: }
19: }
20:
21: public class Class1
22: {
23: public static int Main(string[] args)
24: {
25: Person person = new Person();
26: Console.WriteLine( person.getName() );
27: Taro taro = new Taro();
28: Console.WriteLine( taro.getName() );
29: Person someone = new Taro();⇦ここです!!
30: Console.WriteLine( someone.getName() );
31: return 0;
32: }
33: }
34: }
ーーーーーーーーーーーーーーーーーーー
私としてはPerson someone = new Taro();ではなく
Person someone = new Person();
にするのと変わらないのでは?と思います。
回答3件
あなたの回答
tips
プレビュー