virtual, new和override是C#中常用的面向对象编程技术,主要用于实现多态和继承。
-
virtual:虚方法是在父类中声明的一种方法,可以被子类重写。使用virtual关键字声明的方法可以被子类继承并重写,使得代码可以根据不同对象的类型来调用不同的方法。
-
new:new关键字可以用来隐藏父类中的方法。使用new关键字声明的方法会隐藏父类中同名的方法,而不是重写它。这意味着当我们在父类中调用该方法时,调用的是父类中的方法,而不是子类中的方法。
-
override:override关键字用于重写父类中的方法。子类中使用override关键字声明的方法必须与父类中的方法具有相同的名称、返回类型、参数列表和访问修饰符,使得代码可以根据不同对象的类型来调用不同的方法。
总之,virtual,new和override都是用于实现多态和继承的重要技术。在写代码时需要根据实际情况选择合适的技术。