详解C#中的属性和属性的使用
在C#中,属性是将方法访问方式封装起来的一种简单方法,它们可以用作公共数据成员,但可以防止不正确的值被分配。本文将从属性的定义、使用等方面进行详解。
属性的定义
属性定义由get和set方法组成。get方法表示获取属性值,set方法表示设置属性值。定义属性的语法如下:
访问修饰符 数据类型 属性名 {get; set;}
其中访问修饰符可以为public、private、protected和internal等修饰符,数据类型可以为任何C#数据类型。
例如,下面是定义一个名为Name的字符串类型属性的示例:
public string Name {get; set;}
属性的使用
访问属性值
在使用C#属性时,可以通过get方法获取属性值。例如,在下面的代码片段中,读取Name属性值:
string name = obj.Name;
设置属性值
在使用C#属性时,可以通过set方法设置属性值。例如,在下面的代码片段中,设置Name属性值为"Tom":
obj.Name = "Tom";
示例1:汽车类
下面的示例定义了一个名为Car的类,它有三个属性——Brand、Color和Speed。其中Speed属性有限制,最大值为200。当Speed属性被设置时,将会检查其值是否超出200,如果超出将会被设置为200。
public class Car
{
private string brand;
private string color;
private int speed;
public string Brand { get => brand; set => brand = value; }
public string Color { get => color; set => color = value; }
public int Speed
{
get => speed;
set
{
if (value > 200)
{
speed = 200;
}
else
{
speed = value;
}
}
}
}
在这个示例中,Speed属性被设置为一个具有限制的属性,当设置值时,如果超过限制将不会最终设置为该值,而是被限制在200以内。
示例2:人类
下面的示例定义了一个名为Person的类,它有两个属性——Age和Name。其中Age属性有限制,必须大于0且小于200,如果不符合将会被设置为0。
public class Person
{
private int age;
private string name;
public int Age
{
get => age;
set
{
if (value > 0 && value < 200)
{
age = value;
}
else
{
age = 0;
}
}
}
public string Name { get => name; set => name = value; }
}
在这个示例中,Age属性被设置为一个具有限制的属性,当设置值时,如果不符合限制将不会最终设置为该值,而是被限制在0~200之间。
结论
C#中的属性是一种简单而有用的方法,它们可以被用来对公共类成员进行访问的控制。属性的使用可以让代码更简洁、更易于阅读和理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C#中的属性和属性的使用 - Python技术站