1、java 中的所有方法都是虚拟的
2、 c# 中的虚函数用于多态中;
3、父类函数使用virtual 修饰
public class Person
{
public virtual void one() {
Console.WriteLine("person");
}
}
4、子类使用override 修饰
public class Student : Person {
public override void one() {
Console.WriteLine("student");
}
}
测试类:
public class Test {
public void one(Person person) {
person.one();
}
}
测试代码:
1、使用虚函数:
Student student = new Student();
student.one();
Test te = new Test();
te.one(student); // 输出student
2、不使用虚函数:
Student student = new Student();
student.one();
Test te = new Test();
te.one(student); // 输出person
说明: 不适用virtual和override的话,子类会隐藏父类的方法