一 抽象类
描述一个事物,由于没有足够的信息,这时就将这个事物称为抽象事物。abstract为抽象关键字,被其声明的类称为抽象类,其声明的方法称为抽象方法。
抽象属性声明不提供属性访问器的实现,它只声明该类支持的属性,而访问器的实现留给派生类。
抽象方法声明不提供方法的实现,他必须是一个空方法,而将方法实现留给派生类。派生类必须重载抽象基类的抽象方法。
抽象类是用来作为基类的,不能直接实例化,即不能用抽象类去创建对象。抽象类的用途是提供多个派生类可共享的基类公共定义。抽象类特点:
二 几个关于抽象类的问题
1.抽象类中有构造函数吗?
有。抽象类的构造函数虽然不能给抽象类对象实例化,因为抽象类不能创建对象,但是抽象类有子类,抽象类的构造函数可以用于子类对象实例化。
2.抽象类一定是个父类吗?
是的。必须需要子类覆盖抽象方法才能实例化,使用这些方法。
3. 抽象类中可以不定义抽象方法吗?
可以的。
4. 抽象关键字abstract和哪些关键字不能共存?
sealed,private,static.一是因为抽象类不能是密封或者静态的。二是因为虚拟成员和抽象成员不能私有
三 抽象类与接口的区别
备注:关于接口的内容请看“第6篇 接口”