C++ 在C+中,抽象和封装之间的确切区别是什么+;

C++ 在C+中,抽象和封装之间的确切区别是什么+;,c++,oop,encapsulation,abstraction,C++,Oop,Encapsulation,Abstraction,C++:C语言中抽象和封装的区别++ 我已经看到了关于这个主题的一些答案,但我想通过一个与这些主题的理论概念相关的例子来了解它们之间的区别抽象是隐藏元素,使它们在类中(C++)中“强”>私有和/或保护“< /强”,这样它们就安全了,不能轻易地从类外部访问。 封装是将数据成员和方法(函数)组合成一个称为类的实体。 封装和抽象是相互关联的。封装实现了抽象。这两个术语在语言中没有严格定义,因此要求精确的区别不是很有意义。问题的关键在于抽象是一种用代码(例如类bike等)对物理或真实世界对象建模的方式,

C++:C语言中抽象和封装的区别++


我已经看到了关于这个主题的一些答案,但我想通过一个与这些主题的理论概念相关的例子来了解它们之间的区别

抽象是隐藏元素,使它们在类中(C++)中“强”>私有和/或保护“< /强”,这样它们就安全了,不能轻易地从类外部访问。 封装是将数据成员和方法(函数)组合成一个称为类的实体。
封装和抽象是相互关联的。封装实现了抽象。

这两个术语在语言中没有严格定义,因此要求精确的区别不是很有意义。问题的关键在于抽象是一种用代码(例如
类bike
等)对物理或真实世界对象建模的方式,封装是一种保护数据不被用户操纵的方法,除非通过您提供的访问器函数来控制访问(class
private
data成员提供了一种方便的封装形式)。除此之外,您还会发现许多类似的解释。@DavidC.Rankin抽象并不局限于物理或现实世界的对象。甚至连物体都没有。我不想通过举例说明任何限制。我认为它更多的是一只猫,一位老太太和一位外科医生。它可以从数据或过程的角度来看待。这就是为什么我特别同意并没有确切的定义。它基本上可以归结为一系列“某个家伙说的话会被转载”——而且有很多人已经转载了这个话题。