暑假到了 小弟想说 学学看c#
自学到抽象(abstract)网络找资源学
可是有一个问题 一直想不出来
敢问各位大大此问题(问题太欠嘘 在此sor 想知道ans)
Q:
写了一个 抽象的 person 里面写了几个函式
我再让student继承
之后我在student里面多写了一个函式
叫studentID好了(person里面没有写喔)
最后我在主函式
person ps1 = new student("A123456789"); //建构子建造studentID必须的字串
但是ps1.没显示出可选择studentID
我知道在上面那种宣告方法 指向的位址 只有person的函式
可是有方法能让ps1.studentID()能使用吗??
除了 student s1 = new student("A123456789");
谢谢各位大大的回答!!
作者:
johnpage (johnpage)
2015-08-02 21:33:00继承,如果可以哪样使用,那叫继承
所以没方法吗?只能student s1=new student?
作者:
GoalBased (Artificail Intelligence)
2015-08-02 22:04:00person就一定有studentID吗? 建议先理解一下什么是继承,还有其他OO基础观念
作者:
wenyonba (射后不理很XX啊!!!!)
2015-08-03 09:11:00父类别怎么可能知道子类别新增了什么方法...你想实现的功能叫多型(polymorphism),先K一下书吧!
作者:
ssccg (23)
2015-08-03 14:57:00如果你确定ps1就是Student: if (ps1 is Student)
作者:
ssccg (23)
2015-08-03 15:05:00可以用 ((Student) ps1).studentID() 这叫downcast
作者:
wenyonba (射后不理很XX啊!!!!)
2015-08-04 20:59:00是很好奇说,假设你需要的不是多型,你在操作时也是要呼叫只有子类别有的新方法,那你为什么要用父类别的变量去new