重写方法,重载方法,虚方法和抽象方法的使用
重写方法,重载方法,虚方法和抽象方法。 重写: 指子类重新实现父类的某些方法,以实现一些新的功能。重写的关键字是 override。并且重写的方法其签名是相同的。 重载: 指允许类中具有相同函数名的方法,但是其函数签名必须是唯一的(顺序,个数等)。重载的方法是在被调用的时候通过函数签名确定需要调用哪一个方法。 虚方法: 若一个实例方法的声明中含有 virtual修饰符,则称该方法为虚方法 (virtual method)。在调用一个虚方法时,该调用所涉及的那个实例的运行时类型 (runtime type)确定了要被调用的究竟是该方法的哪一个实现。 抽象方法: 抽象方法是没有实现的虚方法。抽象方法只能存在于抽象类中。抽象方法使用 abstract修饰符进行声明。 抽象方法只提供函数的声明,至于函数的实现,必须要在子类中通过重写实现。 重写和虚方法 :C#中的多态性在实现时主要是通过在子类(派生类)中重写基类的虚方法或函数成员来实现的,那么这里就遇到两个概念,一个是虚方法,另一个是重写方法,而这两个方法也是多态中最重要的两个概念,下面分别对它们进行讲解。 1.虚方法 虚方法就是允许被其子类重新定义的方法,在声明时,需要使用virtual修饰符。 注意: (1)virtual修饰符不能与static、abstract或者override修饰符同时使用; (2)由于虚方法不能是私有的,所以