抽象和封装之间的区别

最后更新: 24/04/2023

什么是抽象和封装?

La 抽象封装 它们是编程中的两个基本概念 面向对象 (便便)。两者都用于组织和构建我们的代码并避免可能的错误或冲突。

抽象化

La 抽象 是识别基本特征的过程 一个物体的 并省略非必要的功能。在 OOP 编程中,抽象允许我们创建一个类,而不必担心其实现的内部细节。

例如,如果我们正在创建一个赛车游戏,我们可以创建一个具有“速度”或“加速度”等属性的“汽车”类,但我们不需要知道引擎如何工作或动力如何传输到轮子。

例如:

让我们看一个说明抽象的代码示例:

类汽车 { private int CurrentSpeed;私有 int 加速; public Car() { 当前速度= 0;加速度=0; } 公共无效加速(int增量){ 加速度+=增量; } public void decelerate(int decrement) { 加速度 -= 减量; } // 其他属性和方法... }
  

在此示例中,我们创建一个类“Car”,它具有两个属性(当前速度和加速度)和两个方法(加速和制动)。然而,我们不需要知道汽车如何移动的内部细节,我们可以像对待一个抽象实体一样使用它。

独家内容 - 点击这里  程序和算法的区别

封装形式

La 封装另一方面,是隐藏或保护类的内部细节并仅允许通过公共接口访问的过程。这样做是为了避免可能的冲突或错误。

例如,如果我们有一个“Person”类,其中包含“Age”或“Name”等属性,我们希望确保它们不会被类外部无意中修改。为此,我们可以将这些属性设置为私有并创建公共方法来访问它们,例如“getAge()”或“setName()”。

例如:

让我们看一个说明封装的代码示例:

类 Person { 私有 int 年龄;私有字符串名称;公共人(int e,字符串n){年龄= e;名称=n; } public int getAge() { 返回年龄; } public String getName() { 返回名称; } public void setName(String n) { 名称 = n; } // 其他属性和方法... }
  

在此示例中,我们创建一个“Person”类,该类具有两个属性(age 和 name)以及多个访问它们的方法(getAge、getName 和 setName)。但这些属性只能从类内部访问,从而保护它们免受可能的错误或冲突的影响。

独家内容 - 点击这里  对称多处理和非对称多处理之间的区别

结论

总之, 抽象封装 是面向对象编程中的两个关键概念。抽象允许我们使用抽象实体,而不必担心其实现的内部细节,而封装允许我们保护类的内部细节,并且只允许通过公共接口进行访问。

为了设计和开发有效的面向对象程序和 结构良好.

Referencias