2 qq773968 qq773968 于 2016.09.10 20:42 提问

关于封装和抽象,两个概念都懂都能理解
不是很能想通
封装考虑的是内部实现,抽象考虑的是外部行为
这句话

6个回答

guwei4037
guwei4037   Ds   Rxr 2016.09.10 21:22

“封装考虑的是内部实现”,封装就是把一个一个独立的逻辑封装成一个一个的方法或者接口,主要是考虑怎么实现这些方法和接口。
“抽象考虑的是外部行为”,抽象是把共同部分提取出来,变成抽象类,对于每个类来说它们是外部的。

zhuzige521888
zhuzige521888   2016.09.10 22:09

简单来说:封装就是不让你看见怎么实现的,抽象就是你必须也得弄出来个实现。

u011288271
u011288271   2016.09.10 22:24

封装:比如一个类,你把它封装以后,你只要告诉别人传什么参数,用哪个方法就可以得到他想要的结果。具体怎么在类里面实现,你自己决定,
别人是不知道的,只有你自己知道。
抽象: Java说万事万物皆为对象,但是有没有发现你创建一个对象的时候,也就是new 一个对象的时候,形式都是:new 类名();
你创建一个对象为什么要new 一个类名呢? 因为这个类是你所要创建的对象抽象出来的。 怎么抽象的呢?找他们的共同特征,拿出来抽象为类或者
接口。 例如:司机,保安,售货员;虽然职业不同,但他们都有姓名,年龄,性别。你就可以抽象成一个Person类。 你也可以找他们其他共同的特征,
抽象成一个你想得到的类。
*******感觉有点啰嗦*******************

cainiaozhangjcsdn
cainiaozhangjcsdn   2016.09.10 23:41

个人理解:
封装的目的是为了调用,比如说,有一段代码需要多次被用到,可以将他们封装成一个函数,封装的时候就需要考虑你要封装的内容,变量,函数;
而你调用的时候,不需要考虑其内部,只需知道,传入的参数和返回的类型。
抽象,故名思议,你要将其具体化,比如抽象函数,抽象函数是没有具体方法的,需要子类来继承它,在继承抽象函数后的子类,必须重写函数,
也就是将抽象函数具体化。这样的还有接口,其实接口里也全是抽象函数。

fei_he666
fei_he666   2016.09.11 00:16

封装感觉就是,产品知道程序员会写代码,就让程序员去写,而不用知道具体什么鬼,只要能完成他的奇葩需求就好,
而程序员这么严谨的生物,肯定会在功能完成之后再去优化,这个时候产品就不知道了。但是结果是不变的,
抽象
就是盖房子,盖好骨架,让住户去装修,每家不一样,但总有一样的地方,那就是它们都是一栋楼的

a1411473204
a1411473204   2016.09.11 09:39

封装就是把设计者和使用者区分开,把细节隐藏起来,实现由内部实现,外界无需理会它
抽象是把类的特征集合起来,外部可以访问

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!