数据抽象、封装、类

6 篇文章 1 订阅

先来说说两个概念: 数据抽象 和 封装

第一个问题: 这两个概念从何而来?

答:  数据抽象和封装 是类的基本思想。

为什么这么说?以下用大白话来解释下

 举个例子,一部手机,有 开关机按钮、音量键、显示屏,我们可以通过他们来开关机、调节音量、查看手机信息等。但是手里里面是怎么实现这些功能的我们不知道(我们也不需要知道,这是手机开发者的事情),我们是手机的使用者,我们只关心这些键的用途,里面的构造我们不关心。

好了,接下来,我们把 类(class)看做是一个手机, 开关机按钮、音量键、显示屏等 相当于 类 的接口, 类的实现 指的是 手机实现这些功能的内部构造原理。

那么,什么是数据抽象? 它可以用来 找出共性, 比如,街上有 渣土车、公交车、小汽车,我们通过数据抽象,归纳出他们都是车的一种,共性:可以驾驶。驾驶就相当于一个接口。同时,数据抽象会 暴露接口,隐藏实现细节。这些车都可以载人,但是,内部构造,比如发动机如何带动车轮运作等这些细节隐藏了。

抽象一点说: 数据抽象 是一种依赖接口和实现分离得编程技术。(这个概念看看就行)

继续,什么是封装? 封装实现了接口和实现的分离。需要通过定义一个 抽象数据类型  来实现封装。那就是类。类的设计者需要考虑类内部是如何实现的。类的使用者只需考虑类的接口有什么用,如何使用等。

PS: 再来讲讲,接口  和 实现

什么是接口? 

接口 就是 类对象所能执行的操作。

什么是实现?

实现包括 接口函数的定义、类的数据成员、以及实现类需要的其他私有函数。

最后, 封装 有什么好处?

1. 它隐藏了细节,防止用户错误更改对象的状态,导致用户级错误;

2. 当有新需求的时候,若只需要修改类内部,无需更改接口,那么用户级代码可以保持不变,只需修改类内部及实现后重新编译即可。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值