Jupyter AI

20 C#面向对象编程基础:属性与方法

📅 发表日期: 2024年8月13日

分类: 🔷C# 入门

👁️阅读: --

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

属性

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

属性的定义

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

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访问器中加入了一个条件,以确保年龄不能为负值。

使用属性

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

var person = new Person();
person.Name = "Alice";  // 设置属性
person.Age = 25;        // 设置属性

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

方法

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

方法的定义

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

public class Person
{
    // ...(省略属性定义)

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

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

调用方法

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

var person = new Person();
person.Name = "Alice";
person.Age = 25;

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

总结

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

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

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

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