java 抽象 封装_Java中的抽象与封装

这篇博客探讨了编程中的封装和抽象概念。封装是将数据和操作绑定到单个实体,保护数据免受外部干扰,通常通过设置私有变量和getter-setter方法实现。而抽象则关注隐藏实现细节,只暴露必要的功能。尽管抽象和封装在某些方面相似,但抽象更侧重于定义对象的外部视图,即如何与对象交互而不涉及其内部工作原理。作者寻求通过现实生活或编程示例来澄清这两个概念的区别。
摘要由CSDN通过智能技术生成

Possible Duplicate:

07000

我知道这个问题可能已经在这个论坛上被问了数千次,甚至网络也充满了关于这些概念的许多定义,但所有听起来相同,并且都使用相同的技术词。例如以下定义

封装是将对数据操作的数据和代码绑定或包装到单个实体中的过程。这保持数据安全从外部接口和误用。考虑封装的一种方式是作为保护性包装,以防止代码和数据被包装器之外定义的其他代码任意访问。

我从上面的定义中理解的是,创建变量,将它们标记为private并为这些变量生成getter-setter,并使用对象访问这些getter和setter。这样,数据就隐藏在对象内,只能通过对象访问。希望我是对的。

抽象是Java中抽象的过程,用于隐藏某些细节,只显示对象的本质特征。换句话说,它处理对象(接口)的外部视图。

现在这是让我困惑的部分。每当我想到抽象时,我想到的东西是抽象类(可能是因为两者都有抽象关键字)。上面的定义说,抽象意味着隐藏数据,只显示所需的细节,但这是我们已经在做封装的权利?那么有什么区别。另外我没有得到什么是对象的外侧视图在它处理对象的外部视图。

有人可以把更多的光在这与一些现实生活的例子或一些程序的例子,如果可能的话。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值