抽象类
一.抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。
当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。
二.抽象方法
抽象方法定义的格式:
public abstract 返回值类型 方法名(参数);
抽象类定义的格式:
abstract class 类名 {
}
抽象类作用
抽象类是具体类中抽象出来的父类,具有更高的抽象层次,使用它为子类模板避免子类设计的冗余性和随意性。子类在抽象类的基础上进行扩展,改造,但是大致保留父类的行为方法。
总结
- 通过abstract定义的方法是抽象方法,它只有定义,没有实现。抽象方法定义了子类必须实现的接口规范。
- 定义了抽象方法的class必须被定义为抽象类,从抽象类继承的子类必须实现抽象方法。
- 如果不实现抽象方法,则该子类仍是一个抽象类。
- 面向抽象编程使得调用者只关心抽象方法的定义,不关心子类的具体实现。