20 属性与方法

在前一篇中,我们讲解了如何定义类以及类的基本结构。接下来,我们将深入探讨面向对象编程中的两个重要概念:属性方法。这些概念构成了我们在使用类时的基本信息和行为。

属性

在C#中,属性是用来封装类中的数据或状态的。它们提供了一种安全的方式来访问和更新类的字段。通过使用属性,我们可以控制字段的访问权限,从而保证数据的安全性。

属性的定义

我们可以通过 C# 关键字 getset 来定义属性。例如,假设我们有一个Person类,它包含NameAge两个属性:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Person
{
private string name;
private int age;

public string Name
{
get { return name; }
set { name = value; }
}

public int Age
{
get { return age; }
set
{
if (value >= 0) // Age不能为负值
age = value;
else
throw new ArgumentException("Age cannot be negative");
}
}
}

在此案例中,Name属性有一个简单的getset访问器,而Age属性的set访问器中加入了一个条件,以确保年龄不能为负值。

使用属性

使用属性非常简单。可以通过类的实例直接进行读取或赋值操作:

1
2
3
4
5
var person = new Person();
person.Name = "Alice"; // 设置属性
person.Age = 25; // 设置属性

Console.WriteLine($"Name: {person.Name}, Age: {person.Age}"); // 输出属性值

方法

方法是类中定义的行为,定义了在类的实例上可以执行的操作。通过方法,我们可以实现更复杂的逻辑。

方法的定义

下面我们在Person类中添加一个方法Introduce,来让Person实例自我介绍:

1
2
3
4
5
6
7
8
9
public class Person
{
// ...(省略属性定义)

public void Introduce()
{
Console.WriteLine($"Hello, my name is {Name} and I am {Age} years old.");
}
}

在这个例子中,Introduce方法使用了该实例的NameAge属性来输出信息。

调用方法

调用方法与访问属性类似。你只需要使用类的实例来调用方法:

1
2
3
4
5
var person = new Person();
person.Name = "Alice";
person.Age = 25;

person.Introduce(); // 输出:Hello, my name is Alice and I am 25 years old.

总结

在这一篇中,我们探讨了属性和方法的基础知识:

  • 属性用于封装数据,提供安全的访问。
  • 方法定义类的行为,可以执行具体的逻辑。

掌握这些基础后,你将能够构造更复杂的类结构,并为实例定义多种行为。下一篇文章中,我们将继续研究构造函数与析构函数的概念,这对于对象的创建与销毁有着重要作用。

希望本文能帮助你更好地理解 C# 的面向对象编程基础。继续加油!

作者

IT教程网(郭震)

发布于

2024-08-13

更新于

2024-08-13

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论