📜  C#|类和对象(1)

📅  最后修改于: 2023-12-03 14:40:30.901000             🧑  作者: Mango

C# | 类和对象

介绍

在C#编程中,类和对象是非常重要的概念。类是一种模板或蓝图,用于创建对象。对象是类的实例,它们具有状态(属性)和行为(方法)。通过使用类和对象,程序员可以建立复杂的数据结构和功能。

本文将介绍C#中的类和对象,涵盖以下主题:

  1. 定义类
  2. 创建对象
  3. 属性和字段
  4. 方法
  5. 继承和多态
定义类

在C#中,可以使用关键字class来定义一个类。类包含属性、方法和事件等成员。

以下是定义一个简单类的示例:

public class Person
{
    // 属性
    public string Name { get; set; }
    public int Age { get; set; }

    // 方法
    public void SayHello()
    {
        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
    }
}

上面的代码定义了一个名为Person的类,这个类具有NameAge属性以及SayHello方法。

创建对象

在C#中,使用new关键字创建一个类的对象。对象是类的实例,可以通过对象访问类的成员。

以下是创建Person类的对象并访问其成员的示例:

Person person = new Person();
person.Name = "John";
person.Age = 30;
person.SayHello();

上面的代码创建了一个Person类的对象person,设置其属性NameAge的值,并调用SayHello方法。

属性和字段

类的属性用于描述类的状态。C#提供了自动属性(自动实现属性)的机制,使得定义属性变得更加简洁。

以下是定义和使用属性的示例:

public class Person
{
    // 自动属性
    public string Name { get; set; }
    public int Age { get; set; }

    // 带有属性逻辑的属性
    private string _address;
    public string Address
    {
        get { return _address; }
        set
        {
            if (value != null && value.Length > 0)
                _address = value;
            else
                throw new Exception("Address cannot be empty.");
        }
    }
}

上述代码中,NameAge是自动属性,直接通过get;set;语法定义。Address是一个带有属性逻辑的属性,通过get和set方法实现了对私有字段_address的读取和写入。

方法

类的方法用于定义类的行为。方法可以通过类的对象进行调用。

以下是定义和使用方法的示例:

public class Person
{
    // ...

    // 方法
    public void SayHello()
    {
        Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
    }
    
    public void Walk()
    {
        Console.WriteLine("I am walking.");
    }
}

上述代码中,SayHelloWalk都是类Person的方法。

继承和多态

在C#中,继承允许一个类派生自另一个类,并继承其成员。这样的类称为派生类或子类,而被继承的类称为基类或父类。

以下是继承和多态的示例:

public class Student : Person
{
    public int Grade { get; set; }

    public void Study()
    {
        Console.WriteLine("I am studying in grade " + Grade + ".");
    }
}

上述代码中,Student类继承自Person类,具有自己的属性Grade和方法Study。由于继承,Student类可以访问Person类中的属性和方法。

总结

本文介绍了C#中的类和对象,以及相关的属性、方法、继承和多态。通过理解和应用这些概念,程序员可以构建复杂的数据结构和功能,实现更强大的应用程序。