考虑这个示例代码,我使用普通类首先实现通用概念,然后使用子类来专门化:
package check;
class figure{
void area(){
System.out.println("\n Superclass for any figure"); //An useless print statement
}
}
class triangle extends figure{
void area()
{
System.out.println("\n Code to determine area of a triangle");
}
}
对于使用抽象类的相同实现,代码将是:
abstract class figure1{
abstract void area();
}
class triangle1 extends figure1{
void area()
{
System.out.println("\n Code to determine area of a triangle");
}
}
现在在JAVA中阅读我的教科书(Herbert Schildt,完全参考,第7版),在我看来,作者想要传达的是,在泛化 – 专业化方法的情况下,以某种方式使用抽象类更好.但是,我无法理解它比使用普通类更好.使用抽象类本质上强制我们扩展基类,这就是全部;除此之外,我无法看到实施方面的任何巨大差异.所以有人能让我理解使用抽象类比使用普通类更好的实践/方法吗?