C# virtual, base, override
来源:互联网 发布:js input上传图片预览 编辑:程序博客网 时间:2024/05/17 01:18
先看这样一段代码:
namespace @virtual{ class A { public void print() { Console.WriteLine("base"); } } class a :A{ public void print() { Console.WriteLine("derive"); } } class Program { static void Main(string[] args) { A p = new A(); p.print(); p = new a(); p.print(); Console.ReadKey(); } }}
output:
base
base
p调用了基类的同名方法,如果想使用子类的print()需要用virtual修饰基类的print()再在子类中override重写print(),那样才能调用派生类的方法
namespace @virtual{ class A { public virtual void print() { Console.WriteLine("base"); } } class a :A{ public override void print() { Console.WriteLine("derive"); } } class Program { static void Main(string[] args) { A p = new A(); p.print(); p = new a(); p.print(); Console.ReadKey(); } }}
output:
base
derive
namespace @virtual{ class A { public void print() { Console.WriteLine("base"); } } class a :A{ public void print() { Console.WriteLine("derive"); } } class Program { static void Main(string[] args) { A p = new A(); p.print(); a p1 = new a(); p1.print(); Console.ReadKey(); } }}
output:
base
derive
base则是对在派生类里对基类成员的访问。在基类数据成员或方法被子类同名成员隐藏的情况下,它能发挥巨大的作用。
namespace @base{ class A { public void print() { Console.WriteLine("base"); } } class a :A{ public void print() { Console.WriteLine("derive"); } public void fatherPrint() { base.print(); } } class Program { static void Main(string[] args) { a p1 = new a(); p1.fatherPrint(); p1.print(); Console.ReadKey(); } }}
output:
base
derive
0 0
- C# virtual, base, override
- C#类的多态性:base、new、override、virtual
- C#继承之base,virtual,override,abstract,new,sealed关键字
- C# virtual和override
- C#调用父类构造方法(:base())与重写父类方法(virtual/override)
- 转:C#继承之base,virtual,override,abstract,new,sealed关键字
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- C#的主要 关键字 new、sealed、partial、interface、virtual、abstract、this、base、override、return、break、continue...
- c#中的virtual/override/abstract
- C# virtual,override,new学习
- C# new virtual override 区别
- C# virtual、Override、New小结
- C#里virtual和override
- C# virtual,override,new 实例
- c# 继承 virtual override new
- 继承类和base,override,virtual 的…
- C#之修饰符-----virtual和override
- 对机器学习中回归的认识
- 白话文剖析[spring4.2.1.RELEASE] IOC核心架构
- 【C#】方法重载
- socket brief
- linux目录文件权限
- C# virtual, base, override
- servlet里的url-pattern和filter的pattern的区别
- LCD Overlays
- Dynamics crm 中的业务部门,用户,角色,权限之间相互关系(二)
- 求职应聘时面试常见问题2
- Fitnesse 安装--接口自动化
- 云南师范大学杨昆教授教授——智慧城市与可持续发展之路 心得体会
- 我相信这是真的!
- 英语学习录——11月