请教,父类写了方法,子类只要这样写就可以了吧
public new void print() { }
c# 调用父类方法的问题
答案:2 悬赏:60 手机版
解决时间 2021-01-03 07:44
- 提问者网友:我的未来我做主
- 2021-01-02 21:05
最佳答案
- 五星知识达人网友:玩家
- 2021-01-22 06:09
你这样写了的话,要调用父类的方法你只能显式的调用
base.print();//像这样
如果没有写这一句的话,你默认调用的就是父类的方法(子类继承父类的公共方法,也可以说是子类自己的方法)
print();//可以直接调用父类的方法
倘若按你现在的样子直接调用
print();
将是调用你这个类的中的print()方法,也就是所谓的子类中的print()方法,它在这里将不作操作。
base.print();//像这样
如果没有写这一句的话,你默认调用的就是父类的方法(子类继承父类的公共方法,也可以说是子类自己的方法)
print();//可以直接调用父类的方法
倘若按你现在的样子直接调用
print();
将是调用你这个类的中的print()方法,也就是所谓的子类中的print()方法,它在这里将不作操作。
全部回答
- 1楼网友:走死在岁月里
- 2021-01-22 07:15
我不太明白lz问题的意思,"父类"是父类的引用还是实例?
在这个例子下:
class father{}
class child : father
{
public void method(){}
}
如果是实例,比如
father fa=new father();
那fa是不可以调用子类方法,逻辑上很容易得出结论,子类的方法可能调用到父类没有的成员,显然不可以调用.
如果是只引用,而且所指实例是子类
father ch=new child();
那么如下方法就可以调用子类方法了
(ch as child).method();
这种情况下,如果ch不是child的实例,那会抛出异常(貌似是抛异常,lz自己实践一下吧)。这是多态的一种基本实现方法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯