C#中的函数重写和方法隐藏之间有什么区别?