服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 关于C# 类的封装详情

关于C# 类的封装详情

2022-12-06 11:33zls20210502 C#

C#中可使用类来达到数据封装的效果,这样就可以使数据与方法封装成单一元素,以便于通过,接下来小编将为大家详细介绍,需要的朋友可以参考一下

1、前言

法存取数据。除此之外,还可以控制数据的存取方式。在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据和操作数据的方法结[成一个单位。设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。这样就可以到封装数据的目的,方便以后的维护升级,也可以在操作数据时多一层判断。

此外,封装还可以解决数据存取的权限问题,可以使用封装将数据隐藏起来,形成一个封闭的问,然后可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。一个类中包含敏感数据,有些人可以访问,有些人不能访问,如果不对这些数据的访问加以限制,后果将会非常严所以在编写程序时,要对类的成员使用不同的访问修饰符,从而定义它们的访问级别。

封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口这一特定的访问权限来使用类的成员。如充电器,它是将220V的电源经过降压整流滤波后,用导线与电池相连,然后进行充电。而降压整流滤波这一过程就相当于类的封装。

2、实例

【例1】 创建一个控制台应用程序,其中自定义一个MyClass类,该类用来封装加数和被加数属性。然后自定义一个Add方法,该方法用来返回该类中两个int 属性的和。Program 主程序类中,实例化自定义类的对象,并分别为MyClass类中的两个属性赋值。最后调用 MyClass 类中的自定义方法 Add返回两个属性的和。

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class MyClass //自定义类,封装加数和被加数属性
{
prvate intx=0: //定义int型变量,作为加数
private int y = 0; //定义int型变量,作为被加数
///<summary>
///加数
///<Summry>
publie int x
{
get {return x; }
set
{
x =value;
}
}
public int y //被加数
get
{
return y;
}
set
{
y * value;
}
}
 
 
public int Add() //求和
{
retum x+Y
}
class Program
{
static void Main(string(] args)
{
MyClass myclass u new MyClass(); //实例化 MyClass 的对象
myclass.x=3; //为 MyClass 类中的属性默值
myclass.Y =5; //为 MyClass 类中的属性赋值
Console.WriteLine(myclass.Add()): //调用 MyClass 类中的 Add 方法求和
Console.ReadLine();
}
}

运行结果为 8

到此这篇关于关于C# 类的封装详情的文章就介绍到这了,更多相关C# 类的封装内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.tuicool.com/articles/E36jmuu

延伸 · 阅读

精彩推荐
  • C#C#给Word不同页面设置不同背景

    C#给Word不同页面设置不同背景

    这篇文章主要介绍了C#给Word不同页面设置不同背景,文章图文讲解的很清晰,有对于这方面不懂得同学可以学习下...

    E-iceblue8222022-11-01
  • C#C#:foreach与yield语句的介绍

    C#:foreach与yield语句的介绍

    C#:foreach与yield语句的介绍,需要的朋友可以参考一下...

    C#菜鸟教程4172020-12-19
  • C#c# 获取机器唯一识别码的示例

    c# 获取机器唯一识别码的示例

    这篇文章主要介绍了c# 获取机器唯一识别码的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...

    leestar5410532022-11-07
  • C#C# interface与delegate效能比较的深入解析

    C# interface与delegate效能比较的深入解析

    本篇文章是对C#中interface与delegate的效能比较进行了详细的分析介绍,需要的朋友参考下...

    C#教程网5022020-12-14
  • C#unity将图片转换成字体的方法

    unity将图片转换成字体的方法

    这篇文章主要为大家详细介绍了unity将图片转换成字体的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    醉落尘阳光7682022-09-03
  • C#C# 7.2中结构体性能问题的解决方案

    C# 7.2中结构体性能问题的解决方案

    这篇文章主要给大家介绍了关于C# 7.2中结构体性能问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    无明10902022-02-27
  • C#c#委托与事件(详解)

    c#委托与事件(详解)

    本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义...

    小狐狸FM8462022-11-24
  • C#详解C#中的定时器Timer类及其垃圾回收机制

    详解C#中的定时器Timer类及其垃圾回收机制

    这篇文章主要介绍了C#中的定时器Timer类及其垃圾回收机制,讲解了Timer相关的单线程异步工作,需要的朋友可以参考下...

    go,go6702021-11-19