【问题标题】:What is the purpose of abstract classes in Java? [duplicate]Java中抽象类的目的是什么? [复制]
【发布时间】:2015-06-12 10:19:51
【问题描述】:

我对抽象类及其使用有一些疑问。我了解它们的基本知识;例如,它们不能被实例化,它们可以有具体和抽象的方法,......但我想我想知道的是,它们在生活中(在软件工程中)有什么用途?

Java 中抽象类的目的是什么? 为什么以及何时应该使用抽象类?如果你可以使用一个普通的类然后继承它,你为什么要继承一个抽象类? 使用抽象类如何让我们的生活更轻松?它会提供更好的可维护性吗?更灵活? ...

顺便说一句,我已经看过一些类似的问题和答案,包括Understanding the purpose of Abstract Classes in Java,但他们没有回答我的问题。我更多的是寻找能够阐明在 Java 中首先引入抽象类背后的哲学的答案。

谢谢

【问题讨论】:

标签: java oop abstract-class


【解决方案1】:

abstract 类可以用作其他类的模板类型,最常用于inheritance

最好的例子是从书头先java:

abstract class Animal(){}

然后您可以扩展子类,例如:dogcatfish

【讨论】:

  • 为其他类提供“模板”是我没有想到的目的。谢谢
  • 你只根据abstract类来定义inheritance and templates的方式是不对的
  • @RajaAnbazhagan 我从未定义过inheritance,我说abstraction 的概念与inheritance 有关。我从未定义过templates,我说abstract 类可以用作其他子类的template
  • 当你说模板时,它可以通过接口本身来实现。抽象类允许您定义基本功能而留下未定义的部分。
  • @RajaAnbazhagan 看,我只是用简单的英语来回答 OP 提出的问题。他问我们为什么需要abstract 类,而不是问为什么使用Interface。请不要过度生成与问题无关的问题。如果你不喜欢template这个词,你完全可以用另一个词来代替它。我这里没有暗示interface
猜你喜欢
  • 1970-01-01
  • 2012-11-29
  • 2011-01-18
  • 2012-07-04
  • 2017-02-02
  • 2017-03-05
  • 2020-03-05
  • 2014-06-24
  • 2023-04-01
相关资源
最近更新 更多