当多个类中出现相同功能,但是功能主体不同,
这时可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。
让子类去继承这个抽象类,并实现里面的抽象方法。
比如学生对象:Student都有学习的行为,但小学生,初中生,高中生的学习行为都不一样。这是可以将学生类定义为一个抽象类,将study定义为抽象方法,并让小学生,初中生,高中生去继承学生类,并实现其学习方法:
abstract class Student
{
abstract final void study();
}
抽象类的特点:
1,抽象方法一定在抽象类中。
2,抽象方法和抽象类都必须被abstract关键字修饰。
3,抽象类不可以用new创建对象。因为调用抽象方法没意义。
4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
|