请听我仔细讲解!
C#类中属性与成员变量的使用小结
在开发C#应用程序的过程中,使用类是很常见的。类是描述对象行为和特征的模板,而属性和成员变量是类中最常用的元素之一。下面,我们将详细介绍C#类中属性与成员变量的使用。
成员变量
成员变量也称为字段,是类中用于存储数据的变量。成员变量可以在类的任何方法之外进行定义,这样就可以在整个类中使用。定义成员变量时,可以设置它们的访问级别(public、private、internal等)。下面是一个示例:
class MyClass {
private int myInt = 1; // 成员变量
public void MyMethod() {
int myInt = 2; // 局部变量
Console.WriteLine("Local myInt = " + myInt);
Console.WriteLine("Class myInt = " + this.myInt); // 使用 this 关键字访问类成员变量
}
}
属性
属性是一种特殊的方法,可以提供对成员变量的访问器。在访问属性时,可以调用 get 和 set 方法。get 方法用于获取属性的值,而 set 方法用于设置属性的值。使用属性可以控制成员变量的访问级别,使其只读或可写。下面是一个示例:
class MyClass {
private int myInt = 1; // 成员变量
public int MyInt { // 属性
get { return myInt; }
set { myInt = value; }
}
}
在上面的示例中,MyInt 是一个属性,它提供了对私有成员变量 myInt 的访问器。可以使用以下方式设置属性的值:
MyClass obj = new MyClass();
obj.MyInt = 2; // 调用 set 访问器,设置属性的值
int myInt = obj.MyInt; // 调用 get 访问器,获取属性的值
示例一
下面是一个示例,演示如何使用属性来控制成员变量的访问级别:
class MyClass {
private int myInt = 1; // 成员变量
public int MyInt { // 属性
get { return myInt; }
private set { myInt = value; }
}
public void MyMethod() {
Console.WriteLine("MyInt = " + MyInt); // 调用 get 访问器,获取属性的值
MyInt = 2; // 这里不能调用 set 访问器,因为它是私有的
Console.WriteLine("MyInt = " + MyInt); // 再次调用 get 访问器,获取属性的值
}
}
在上面的示例中,属性 MyInt 的 set 方法是私有的,因此只能在类中使用。使用属性 MyInt 的 get 方法可以获取私有成员变量 myInt 的值,但无法直接修改它。在 MyMethod 方法中,我们可以通过使用 MyInt 属性的 get 方法获取 myInt 的值。然后修改 MyInt 属性的值,但不能直接修改 myInt。
示例二
下面是另一个示例,演示如何在属性访问器中添加逻辑:
class MyClass {
private int myInt;
public int MyInt {
get { return myInt; }
set {
if (value >= 0 && value <= 100) { // 如果值在 0 到 100 之间
myInt = value; // 修改 myInt 的值
} else {
Console.WriteLine("MyInt 必须在 0 和 100 之间。"); // 输出错误信息
}
}
}
}
在上面的示例中,当设置属性 MyInt 的值时,可以检查该值是否在 0 到 100 之间。如果值不在这个范围内,将输出一条错误信息。否则,将修改私有成员变量 myInt 的值。这种情况下,可以增加了安全性和可靠性。
总结
在C#中,属性和成员变量是类中最重要的元素之一。成员变量是类中用于存储数据的变量,而属性提供了对成员变量的访问器。使用属性,可以控制成员变量的访问级别,并添加逻辑来增加安全性和可靠性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#类中属性与成员变量的使用小结 - Python技术站