new是通过在派生类中声明新的与基类具有相同函数签名的方法从而屏蔽基类的函数成员,override是在派生类中重写基类中声明为virtual的方法,两者的区别在于,如果要实现派生类中new的新方法,那么需要定义的是指向派生类的引用的派生类的实例,而override是用于指向派生类的基类引用场景
2018-05-08
已采纳回答 / CashQQJ
题主所指的new是子类里隐藏父类方法的关键字,不是新建实例关键字。virtual是虚函数关键字,修饰父类里的函数,子类可以用override重写该函数。virtual一般用在父类里,new一般用在子类里,其是成员修饰符。public是访问修饰符,用来限制访问权限。在c#里还有一种修饰符是类修饰符,例如:abstract。书写顺序习惯上一般是:访问修饰符 + 类修饰符,或者:成员修饰符 + 类修饰符但是不按照上面的顺序书写,编译器也不会报错,只是不太常用而已。
2018-04-18