C中封装和抽象的区别是什么

目录:

Anonim

主要区别 C#中封装和抽象之间的区别在于 封装将数据和方法包装到一个单元中,而抽象隐藏了实现细节,只向用户显示功能。

C# 是一种由 Microsoft 开发的高级通用编程语言。它建立在.NET 框架之上。该框架为开发和部署应用程序提供了环境和必要的工具。 C# 的一大优势是它支持面向对象编程 (OOP)。因此,开发人员可以轻松地建模和表示现实世界的场景来解决问题。封装和抽象是 OOP 的两大支柱。

抽象、C#、封装、.NET Framework、OOP

C#中什么是封装

封装将数据和方法连接到一个单元中。例如,假设一个医用胶囊。覆盖物保护胶囊内的药物。封装与此类似。

封装的主要目的是防止访问数据。在 C# 中有几个可用的访问修饰符,例如 public、protected、private 等。 public 成员可以被任何其他类访问。受保护的成员可以在类内和子类中访问。但是,私有成员只能在类内访问。程序员可以将数据成员设为私有,并使用公共 getter 和 setter 来读取和写入数据。同样,封装将数据和方法组合到一个单元中,也防止直接访问数据。

图 1:带有封装的 C# 程序

在上面的这个程序中,Student 是一个类。它有一个名为 name 的私有数据成员。方法 setName 接收一个 String 并将该值分配给 name。 getName 方法返回字符串名称。在主程序中,有一个名为 s 的对象,类型为 Student。在第 20 行,在对象 s 上调用了 setName。字符串“Ann”被传递给该方法。在第 21 行中,getName 有助于获取名称。最后,名称打印在控制台上。封装将数据和方法组合到一个单元中。程序员不是直接访问数据成员,而是使用公共 set 方法分配值和公共 get 方法获取值。

C#中的抽象是什么

抽象有助于隐藏实现细节,并只允许向用户显示功能。假设有一台电视机的遥控器。用户无需了解控制器的内部电路即可使用它。抽象与此类似。它关注对象做了什么,而不是关注它是如何完成的。

在 C# 中,有两种方法可以实现抽象。它们是通过使用抽象类或接口。抽象类可以有抽象方法和非抽象方法。扩展抽象类的类应该提供抽象方法的实现。在一个接口中,所有的方法都是抽象的。实现接口的类应该提供这些抽象方法的定义。

图 2:带有抽象类的 C# 程序

在上面的程序中,Shape 是一个抽象类。它有一个叫做 draw 的抽象方法。 Triangle 类扩展了 Shape。因此,这个类实现了 draw 方法。在 main 方法中,s 是一个 Shape 类型的对象。 draw方法称为Triangle的draw方法。

图 3:带有接口的 C# 程序

在上面的程序中,Shape 是一个接口。它有一个叫做 draw 的抽象方法。 Triangle 类扩展了 Shape。它提供了 draw 方法的定义。在 main 方法中,s 是一个 Shape 类型的对象。 draw方法称为Triangle的draw方法。

C#中封装和抽象的区别

定义

C# 中的封装是一个 OOP 概念,它将数据和方法绑定在一起以创建单个单元。另一方面,C# 中的抽象是一个 OOP 概念,它隐藏了实现细节,只向用户显示功能。因此,这是封装和抽象之间的主要区别。

实现方法

此外,程序员可以将数据成员设为私有,并使用公共方法来实现 C# 中的封装。 C#中有抽象类和接口来实现抽象。

用法

用法是封装和抽象之间的另一个区别。那是;封装隐藏数据以保护数据,而抽象隐藏实现细节以降低代码复杂度。

结论

封装和抽象是我们可以使用 C# 编程实现的两个 OOP 概念。 C#中封装和抽象的主要区别在于,封装将数据和方法包装在一个单元中,而抽象隐藏了实现细节,只向用户显示功能。

参考:

1.“C# 抽象——Javatpoint”。 Www.javatpoint.com,可在此处获得。2.“C# 接口 – Javatpoint”。 www.javatpoint.com,可在此处获得。 3.“C#封装——Javatpoint”。 www.javatpoint.com,可在此处获得。

C中封装和抽象的区别是什么