抽象类的说明(复习)
抽象类的作用:多个子类具有相同形式的实现方法,例如对于不同的CAN设备,存在不同的CAN驱动(CANDriver),但都包括connect、disconnect、clear、write、read等方法(抽象方法),就可以采用抽象类(abstract CANDriver),将这些方法写成抽象方法(abstract connect()),有不同的CAN驱动时即可继承该抽象类(:CANDriver),实现这些抽象方法,具体的方法实现在不同的CAN驱动中,驱动方法不同。
抽象类的理解:
1、抽象类不可以实例化,可以被继承,抽象类和抽象方法必须添加abstract关键字;
2、继承抽象类,必须实现抽象类中的抽象方法;
3、抽象类里可以没有抽象方法;
4、抽象类不能被new,不能添加sealed关键字;
5、子类继承父类(抽象类),重写抽象方法时,使用override关键字重写;
6、抽象方法也是虚拟的,但是不需要提供关键字virtual
补充:
1、关于抽象类封装成dll类库,导入引用后可以派生类正常继承,并且需要实现基类的抽象方法;
类库可以定义一个抽象类,将其用作多个类库函数的参数,并要求使用该库的程序员通过创建派生类来提供自己的类实现。