多态经典面试题
2016-02-18 21:37
302 查看
class A { public string Str = "A"; public void Show() { Console.WriteLine("Show A"); } } class B : A { public string Str = "B"; public virtual void Show() { Console.WriteLine("Show B"); } } class C : B { public override void Show() { Console.WriteLine("Show C"); } } class D : C { public string Str = "D"; public void Show() { Console.WriteLine("Show D"); } } class Program { static void Main(string[] args) { D d = new D(); C c = d; B b = d; A a = d; Console.WriteLine(d.Str); //d Console.WriteLine(c.Str); //b Console.WriteLine(b.Str);//b Console.WriteLine(a.Str);//a Console.WriteLine("------------"); d.Show();//d c.Show();//c b.Show();//c a.Show();//a Console.ReadLine(); } }
new隐藏,over重写;隐藏看类型,重写只管新
override:在子类或实现类中用来重写抽象方法或虚方法。将覆盖父类的方法。
new:在子类的用new关键字修饰的方法,将会是一个新的方法,它不会覆盖父类的方法。
相关文章推荐
- 一个关于if else容易迷惑的问题
- C#与.net高级编程 C#的多态介绍
- C#中面向对象编程机制之多态学习笔记
- 一道sql面试题附答案
- C#中的多态深入理解
- C# 超高面试题收集整理
- C#中多态、重载、重写区别分析
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- 人人网javascript面试题 可以提前实现下
- c#基础学习之多态
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
- 从汇编看c++中多态的应用
- 据说是雅虎的一份PHP面试题附答案
- php牛逼的面试题分享
- javascript 面向对象全新理练之继承与多态
- 一套比较完整的javascript面试题(部分答案)
- Java多态的使用注意事项
- 10个经典的Java main方法面试题
- 小米公司JavaScript面试题