【发布时间】:2011-07-23 12:36:51
【问题描述】:
我是一名 java 开发人员,对面向对象的概念有很好的理解(或者,我也这么认为)。现在我正在学习设计模式(从 Head first design patterns 开始)。 我一直在阅读有关 OOPS 概念抽象的文章以简要了解它,并且阅读更多有关它的内容让我比以前更加困惑。
据我了解,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而不用担心内部细节。 但是,我不明白
- 抽象类如何适应这种抽象概念,抽象类要求我实现抽象方法,在 java 中使用抽象类的抽象在哪里。
- 我觉得,可以实现抽象的一种方式是通过私有构造函数并要求类的用户使用工厂方法来获取类的对象,您可以在其中实现并隐藏实现细节。
如果我在任何地方错了,请纠正我。
【问题讨论】:
-
隐藏内部细节,称为封装。
-
我猜,封装是指保持数据和将要在该数据上完成的操作绑定在一起,与高内聚和低耦合有关......
-
封装有两种定义:en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming) 在编程语言中,封装用于指代两个相关但不同的概念之一,有时用于它们的组合:一种语言机制,用于限制对某些对象组件的访问。一种语言结构,有助于将数据与操作该数据的方法(或其他函数)捆绑在一起。
标签: java abstract-class abstraction abstract