比如 Son b = new Son();
Father a = b; 知道son:father 那上面这句话是什么意思…要表达什么
这种写法在编程中的现实意义就是,基类类型具有更大的普遍性,比如
ArrayList可以存任何对象,那么天然地它可以存int,也可以存double,它有一个add方法,接收object对象,比如
ArrayList list = new ArrayList();
int i = 1;
object o = i;
list.Add(o);
double d = 3.14;
o = d;
list.Add(o);
再比如,你可以用this.GetControl("label")得到一个控件,这个控件可以是label,也可以是textbox,相当于你的不同的son。但是你可以都用它们的基类Control接收(因为你不知道它返回的是什么)
Control c = this.GetControl("label");
这其实很简单,和什么“多态”基本扯不上。
这个就是多态了。
假设有两个Son,则:
Son b=new Son();
Son c=new Son();
而用多态:
Father b=new Son();
Father c=new Son();
这个和上面的是一样的。
如果你代码写的少的话,先用最上面的,等你代码写多了就明白了。
比如一个类实现了接口,则可以用多态的。
Father是大,Son是小的,如果实现了接口,就可以用这种方式的。
你写过这样的代码么
int i = 1;
object o = i;
一个类天然是它基类的类型。
就好比一个中国人天然是一个人,一只猫天然是一只哺乳动物一样。