抽象
处理大而复杂的问题的重要手段是抽象,强调事物本质的东西。 对程序抽象而言,一个语言结构的抽象强调的是该结构外部可观察的行为,与该结构的内部实现无关。抽象包括过程抽象和数据抽象。
封装
封装是把一个语言结构的具体实现细节作为一个黑匣子对该结构的使用者隐藏起来的一种机制,从而符合信息隐藏原则。封装包括过程封装和数据封装。
区别
封装考虑内部实现,抽象考虑的是外部行为
封装是屏蔽细节,抽象是提取共性
图例
[img]http://dl2.iteye.com/upload/attachment/0101/2311/cdca87a5-1958-36ad-863e-8e2233d55eaf.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0101/2313/5129d01f-97b9-3cbc-91b5-2cfe54913d57.png[/img]
处理大而复杂的问题的重要手段是抽象,强调事物本质的东西。 对程序抽象而言,一个语言结构的抽象强调的是该结构外部可观察的行为,与该结构的内部实现无关。抽象包括过程抽象和数据抽象。
封装
封装是把一个语言结构的具体实现细节作为一个黑匣子对该结构的使用者隐藏起来的一种机制,从而符合信息隐藏原则。封装包括过程封装和数据封装。
区别
封装考虑内部实现,抽象考虑的是外部行为
封装是屏蔽细节,抽象是提取共性
图例
[img]http://dl2.iteye.com/upload/attachment/0101/2311/cdca87a5-1958-36ad-863e-8e2233d55eaf.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0101/2313/5129d01f-97b9-3cbc-91b5-2cfe54913d57.png[/img]