抽象类可以提供一些默认的实现,子类可以选择性地覆盖这些实现,减少了重复代码的编写。
抽象类可以约束子类必须实现某些方法,确保子类的实现符合规范。
抽象类可以作为一种模板,定义一些通用的行为和属性,并由子类进行具体实现,提高代码的复用性。
抽象类可以提供一个统一的接口,方便对不同子类进行统一操作。
抽象类可以隐藏一些具体实现的细节,只暴露出必要的接口,提高代码的安全性和可维护性。