虚方法: 关键字---virtual , 可以让派生类重写本类的方法.
这里有个类,就简单手写了:
public class Person
{
public string _name;
public int _age;
public char _gender;
public virtual void SayHello()
{
Console.WriteLine("我是父类");
}
}
public class Student: Person
{
public string _id;
public override void Sayhello()
{
Console.WriteLine("我是学生子类");
}
}
public class Teacher: Person
{
public string _employee;
public override void Sayhello()
{
Console.WriteLine("我是老师子类");
}
}
有三个类,学生和老师继承自人类,下面我分别实例一个老师和学生,用父类来接收:
Person p1 = new Student();
Person p2 = new Teacher();
现在我调用SayHello这个方法:
p1.SayHello(); --------------------- 我是学生子类
p2.SayHello(); -----------------------我是老师子类
会得到不同的结果,这就是面向对象多态的体现。这是简单的介绍一下噢!
抽象方法跟虚方法类似,但是抽象方法只能存在于抽象类中,且抽象方法没有方法体:
public abstract class Person
{
public string _name;
public abstract void SayHello(); --------分号别忘了!!!
} ------ 写不下了,接下楼.
|