所在的位置: C++ >> C++介绍 >> C中抽象和封装的区别

C中抽象和封装的区别

1.抽象

在面向对象编程中,抽象是获取信息的方法,所需的信息将以最简单的方式获取,即只提取所需的组件,而那些被认为不太重要的组件也不会被注意到。抽象的概念只向用户显示必要的信息。它通过隐藏程序的实现复杂性来降低程序的复杂性。抽象的例子:

#includeiostreamusingnamespacestd;classYiibaiCom{private://privatevariablesinta,b,c;public:voidsum(intx,inty){a=x;b=y;c=a+b;cout"Sumofthetwonumberis:"cendl;}};intmain(){YiibaiDemos;s.sum(5,4);return0;}

运行结果:

Sumofthetwonumberis:9

在这个例子中,可以看到抽象是通过使用类来实现的。Yiibai.Com类包含私有成员a、b和c,它们只能由该类的成员函数访问。

2.封装封装是包含信息的过程或方法。封装是一种将数据隐藏在单个实体或单元中的方法,以及一种保护信息免受外界影响的方法。该方法将数据和函数一起封装在一个类中,这也导致了数据抽象。封装示例:

#includeiostreamusingnamespacestd;classEncapsulationExample{private://declareaasprivatetohideitfromoutsideinta;public://set()functiontosetthevalueofavoidset(intx){a=x;}//get()functiontoreturnthevalueofaintget(){returna;}};//mainfunctionintmain(){EncapsulationExamplee1;e1.set(10);coute1.get();return0;}

运行结果:

10

在这个程序中,变量a被设为私有,因此只能使用类中存在的方法get()和set()来访问和操作该变量。因此可以说,变量a和方法set()以及get()已经绑定在一起了,只不过是封装而已。

抽象与封装的区别:




转载请注明:http://www.aierlanlan.com/rzfs/2485.html