C#重写意思是什么?
是不是整个重写?要是这样,那基类还不如不写,直接在派生类中写,还是重写一些参数?方法名?能不能举多点例子说说看...
是不是整个重写?要是这样,那基类还不如不写,直接在派生类中写,还是重写一些参数?方法名?能不能举多点例子说说看
展开
2个回答
展开全部
C#重写:继承时发生,在子类中重新定义父类中的方法,子类中的方法和父类的方法是一样的
例如:基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写.
C#重写时,访问父类子类皆调用子类的重写方法;
C#重写virtual(虚方法)示例
1.using System;
2. class A
3. {
4. public virtual void F()
5. {
6. Console.WriteLine("A.F");
7. }
8. }
9. class B: A
10. {
11. public override void F()
12. {
13. Console.WriteLine("B.F");
14. }
15. }
16. class Test
17. {
18. static void Main()
19. {
20. B b = new B();
21. b.F();
22. A a = b;
23. a.F();
24. }
25. }
输出为
B.F
B.F
补充:重写override一般用于接口实现和继承类的方法改写,要注意
例如:基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写.
C#重写时,访问父类子类皆调用子类的重写方法;
C#重写virtual(虚方法)示例
1.using System;
2. class A
3. {
4. public virtual void F()
5. {
6. Console.WriteLine("A.F");
7. }
8. }
9. class B: A
10. {
11. public override void F()
12. {
13. Console.WriteLine("B.F");
14. }
15. }
16. class Test
17. {
18. static void Main()
19. {
20. B b = new B();
21. b.F();
22. A a = b;
23. a.F();
24. }
25. }
输出为
B.F
B.F
补充:重写override一般用于接口实现和继承类的方法改写,要注意
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询