作者ScottOAO (cos)
看板C_Sharp
标题[问题] Access derived class from base class
时间Wed May 20 08:12:36 2015
假设今天有
class creature
class animal : creature
class plants : creature
然後阵列可能存animal 或plants
creature[] c;
c[0] = new animal();
c[1] = new plants();
但是我要如何判断阵列中存的是何种derived class?
有没有不用dynamic的做法? 谢谢
补问一下,强制cast好吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.167.159.126
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1432080759.A.B46.html
1F:→ ssccg: c[0].getType() 05/20 09:06
对耶谢谢:P
2F:→ ssccg: 要判断的话用 C[0] is Animal、c[0] is Plants 05/20 09:09
3F:推 Litfal: 先想想能不能用多型解决 05/20 09:19
正是因为不是多型才麻烦阿~~
※ 编辑: ScottOAO (118.167.159.126), 05/20/2015 09:47:15
※ 编辑: ScottOAO (118.167.159.126), 05/20/2015 09:52:33
4F:推 Litfal: 这种情况很常发生的话,我会在creature里面加属性就是了 05/23 14:21