首页 > 试题广场 >

什么是抽象和封装?请举例说明。

[问答题]
什么是抽象和封装?请举例说明。
推荐
抽象是将有关事物的共性归纳、集中的过程。抽象是对复杂世界的简单表示,抽象并不打算了解全部问题,而只强调感兴趣的信息,忽略了与主题无关的信息。例如,在设计一个成绩管理程序的过程中,只关心学生的姓名、学号、成绩等,而对他的身高、体重等信息就可以忽略。而在学生健康信息管理系统中,身高、体重等信息必须抽象出来,而成绩则可以忽略


抽象是通过特定的实例(对象)抽取共同性质后形成概念的过程。面向对象程序设计中的抽象包括两个方面:数据抽象和代码抽象(或称为行为抽象)。前者描述某类对象的属性或状态,也就是此类对象区别于彼类对象的特征物理量;后者描述了某类对象的共同行为特征或具有的共同功能。

在现实世界中,所谓封装就是把某个事物包围起来,使外界不知道该事物的具体内容。在面向对象程序设计中,封装是指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐蔽对象的内部细节。

下面以一台洗衣机为例,说明对象的封装特征。首先,每一台洗衣机有一些区别于其他洗衣机的静态属性,例如出厂日期、机器编号等。另外,洗衣机上有一些按键,如“启动”、“暂 4

停”、“选择”等,当人们使用洗衣机时,只要根据需要按下“选择(洗衣的方式)”、“启动”或“暂停”等按键,洗衣机就会完成相应的工作。这些按键安装在洗衣机的表面,人们通过它们与洗衣机交流,告诉洗衣机应该做什么。我们无法(当然也没必要)操作洗衣机的内部电路和机械控制部件,因为它们被装在洗衣机里面,这对于用户来说是隐蔽的,不可见的。

发表于 2018-05-05 21:00:15 回复(0)