2014-03-03 24 views
0

我在理解“Java中的抽象”的含义时遇到了麻烦。我搜索并研究了书籍,在那些我有两种类型的定义中。这是“Java中的抽象”的正确定义。

  1. 选择必要的属性和隐藏不需要的细节是抽象。

  2. 抽象概念是将一个概念简化为一个更一般的概念。

我觉得上面两个定义并不意味着相同,而是完全不同。

那么哪个是正确的?

+0

在Java中没有抽象的特殊含义而不是OOP – bsiamionau

+1

第一个定义听起来更像是封装而不是抽象。 – Vulcan

+0

@Vulcan封装绝对是一种实现抽象的工具。 –

回答

1

我认为如果你深思熟虑,你的陈述有相同的含义。

隐藏必要的属性并隐藏不需要的细节会使您更加一般化,高架构思路。

假设动物是一个抽象类,我们隐藏动物的性质和抽象类食物的习惯,当我们谈虎介绍所有的细节revelant,

+0

但他们清楚地告诉“隐藏不需要的细节”,这可能是错误的,因为,虽然定义常见想法,概念,我们没有特定的属性,那么我们如何躲在那里..? 仍然困惑。 –

0

抽象是隐藏的数据。 意思是如果你有一个包含2个变量的类A假设int id,字符串名称 其中如果你想保留在你的类中受保护的数据,你将保留 Id作为私有变量,所以你的变量不能直接在类之外访问。

这样你就可以在课堂上处理抽象了。