01
—
前言
C#中可使用类来达到数据封装的效果,这样就可以使数据与方法封装成单一元素,以便于通过
法存取数据。除此之外,还可以控制数据的存取方式。在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据和操作数据的方法结[成一个单位。设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。这样就可以到封装数据的目的,方便以后的维护升级,也可以在操作数据时多一层判断。
此外,封装还可以解决数据存取的权限问题,可以使用封装将数据隐藏起来,形成一个封闭的问,然后可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。一个类中包含敏感数据,有些人可以访问,有些人不能访问,如果不对这些数据的访问加以限制,后果将会非常严所以在编写程序时,要对类的成员使用不同的访问修饰符,从而定义它们的访问级别。
封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口这一特定的访问权限来使用类的成员。如充电器,它是将220V的电源经过降压整流滤波后,用导线与电池相连,然后进行充电。而降压整流滤波这一过程就相当于类的封装。
02
—
实例
【例1】 创建一个控制台应用程序,其中自定义一个MyClass类,该类用来封装加数和被加数属性。然后自定义一个Add方法,该方法用来返回该类中两个int 属性的和。Program 主程序类中,实例化自定义类的对象,并分别为MyClass类中的两个属性赋值。最后调用 MyClass 类中的自定义方法 Add返回两个属性的和。
代码如下:
代码语言:javascript复制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。