日期:2014-05-18  浏览次数:20834 次

虚拟+重载(virtual+override)与覆盖(new)相比,各有什么优势?
如题,初学C#,想知道这两种方法有什么异同,各有什么优势,最好能用具体代码说明,谢谢!

------解决方案--------------------
重写,必然发生在基类和派生类中,其类函数用virtual修饰,派生类用override修饰
隐藏,在子类中写一个和基类一样名字(参数不同也算)的非虚函数,会让基类中的函数被隐藏
重载,必然发生在一个类中,函数名相同,参数类型或者顺序不同构成重载,与返回类型无关