标签:
OOP继承的区别提纲:
1. 普通类继承,并非一定要重写父类方法。
2. 抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法。如果子类不是抽象类,则要求子类一定要实现父类中的抽象方法。
3. 接口类继承。如果是一个子接口,可以扩展父接口的方法;如果是一个子抽象类,可以部分或全部实现父接口的方法;如果子类不是抽象类,则要求子类一定要实现父接口中定义的所有方法。
1.抽象类继承
在定义类的前面加上关键字abstract,那么这个类就是抽象类了,
抽象类本身无法产生实例对象,而且抽象类包含了一个以上的抽象方法,这些方法只是提供函数名称,并没有定义如何具体实现,由继承的派生类实现,
派生类同时必须实现所有抽象类的方法,否则其本身将成为另外一个抽象类。
需要我们注意的一点是,当派生类重写抽象类的方法时,要使用override关键字来重写抽象类所定义的方法
抽象类只能被继承,不能被实例化,抽象类的抽象方法是虚方法
新建person类:
public abstract class Person
{
public abstract void show();
}
public class Student : Person
{
public override void show()
{
Console.WriteLine("我是老大!");
}
}
public class Manager : Person
{
public override void show()
{
Console.WriteLine("我是管理员!");
}
}
另建一个Teacher类
class Teacher
{
public void tShow(Person person)
{
person.show();
}
}
在Main方法实现:
static void Main(string[] args)
{
Teacher teacher = new Teacher();
teacher.tShow(new Manager());
}
2.接口类继承
类和接口继承
14.2定义接口
14.3接口的继承
结果:
标签:
原文地址:http://www.cnblogs.com/yuqiandoudou/p/4685295.html