重写与隐藏的区别
来源:互联网 发布:数据库应用系统功能 编辑:程序博客网 时间:2024/05/21 20:51
以前一直搞不清重写与隐藏 认为两者没多大区别 今天仔细查了下资料 发现两者的确存在不同的地方的 在多态中 就体现了出来
借用网上的例子
- public class BaseClass
- {
- public virtual void GetStringVirtual()
- {
- Console.WriteLine("基虚类方法");
- }
- public void GetString()
- {
- Console.WriteLine("基类方法。");
- }
- }
- public class DerivedClass : BaseClass
- {
- public override void GetStringVirtual()
- {
- Console.WriteLine("派生类重写方法。");
- }
- public new void GetString()
- {
- Console.WriteLine( "派生类隐藏方法");
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- DerivedClass derivedClass = new DerivedClass();
- BaseClass baseClass = derivedClass;
- derivedClass.GetStringVirtual();
- derivedClass.GetString();
- baseClass.GetStringVirtual();
- baseClass.GetString();
- Console.ReadKey();
- }
- }
结果是:
派生类重写方法
派生类隐藏方法
派生类重写方法
基类方法
最近返回来打基础 收获颇丰 >. <
继续努力中
- 重写与隐藏的区别
- 重写(Override)与隐藏(hide)的区别
- C# override重写与new隐藏的区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- C#中override重写与new隐藏的区别,以及C#与Java的override区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- 关于覆盖、隐藏、重载、重写的区别
- 隐藏和重写方法的区别
- 重载、重写(覆盖)、隐藏的区别--Java
- c#中隐藏,重写的区别
- C++中重载,重写,隐藏的区别
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- 方法的重载、隐藏与重写辨析
- 成员函数的重载/重写与隐藏
- 模拟面试题答案
- 数据结构的学习 完整的程序之单链表
- 菜鸟路--第一天
- 关于360与tx之争的一些看法
- VC++调试中遇到的各种简单问题(一)
- 重写与隐藏的区别
- RTLinux的介绍
- I will do my best !
- java初学者必看:你必须理解的五大问题
- 回顾 Java IO
- 光棍节宣言
- C#中IP地址的获得
- 生活的海洋(第二季)
- 新人