gpt4 book ai didi

java - java中的抽象与抽象

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:21:20 25 4
gpt4 key购买 nike

我是一名 java 开发人员,对面向对象的概念有很好的理解(或者,我可能是这样想的)。现在我正在学习设计模式(来自 Head first design patterns)。我一直在阅读有关 OOPS 概念抽象的内容以简要了解它,并且阅读更多有关它的内容使我比以前更加困惑。

据我理解,抽象是指隐藏程序的内部细节,同时将接口(interface)暴露给其他程序员,而无需担心内部细节。但是,我不明白

  1. 抽象类如何适应这个抽象概念,抽象类要求我实现抽象方法,在 java 中使用抽象类的抽象在哪里。
  2. 我觉得,可以实现抽象的一种方法是通过私有(private)构造函数并要求类的用户使用工厂方法来获取类的对象,您可以在其中实现并隐藏实现细节。

如有错误,请指正。

最佳答案

“抽象”是“具体”的反义词。通过抽象,您代表概念和想法,而不是这些想法的具体实现方式。这符合您对抽象的理解 - 您隐藏了细节,只显示了界面。

但这也适用于抽象类——它们不是具体的(一方面,它们不能被实例化),并且它们不指定实现。它们指定了子类必须处理的抽象概念。

所以基本上是不同的观点——一个是从API的客户端的角度,另一个也是关于子类的。 (请注意,在某些情况下您可以使用抽象类而不是接口(interface)来达到相同的效果,尽管这被认为不是好的做法)

关于java - java中的抽象与抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com