核心 C# - 类

3.2 类

在 C# 中,类是面向对象编程的基本构建块,用于定义对象的模板。类包含成员,成员可以分为静态成员和实例成员。静态成员属于类,而实例成员属于对象。

静态成员是类的一部分,与类的实例无关,而实例成员则属于类的实例(对象)。静态成员使用 static 关键字定义,而实例成员则没有该关键字。

类的成员大概有以下这些(不完全):

  • 字段:字段是类中用于存储数据的成员,可以是静态字段或实例字段。
  • 常量:常量是一种具有固定值且在编译时不可更改的标识符。常量使用 const 关键字声明。
  • 方法:方法是类中用于执行操作的成员,可以是静态方法或实例方法。
  • 属性:属性提供对类的成员字段的访问控制,可以定义读取器和写入器。属性可以是静态属性或实例属性。
  • 构造函数:构造函数是在创建对象时执行的特殊方法,用于初始化对象的成员。
  • 索引器:索引器允许类的对象像数组一样进行索引访问。
  • 运算符:运算符重载允许自定义类的对象使用运算符进行操作。
  • 事件:事件是类的成员,用于实现发布-订阅模式,允许一个类向其他类通知发生的事件。
  • 析构函数:析构函数是在对象被销毁时执行的方法,用于释放资源或执行清理操作。
  • 类型:类型成员用于定义嵌套类型,即在一个类中定义另一个类。

以下是一些简单的代码示例:

// 字段
class MyClass
{
    // 静态字段
    public static int staticField;
    // 实例字段
    public int instanceField;
}
// 常量
class Constants
{
    public const double Pi = 3.14;
    public const string Greeting = "Hello, World!";
}
// 方法
class MathOperations
{
    // 静态方法
    public static int Add(int a, int b)
    {
        return a + b;
    }

    // 实例方法
    public int Multiply(int a, int b)
    {
        return a * b;
    }
}
// 属性
class Person
{
    private string name;

    // 实例属性
    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    // 静态属性
    public static int Counter { get; set; }
}
// 构造函数
class Car
{
    public string Model { get; set; }
    public int Year { get; set; }

    // 构造函数
    public Car(string model, int year)
    {
        Model = model;
        Year = year;
    }
}
// 索引器
class IndexerExample
{
    private int[] data = new int[10];

    // 索引器
    public int this[int index]
    {
        get { return data[index]; }
        set { data[index] = value; }
    }
}
// 运算符
class ComplexNumber
{
    public int Real { get; set; }
    public int Imaginary { get; set; }

    // 运算符重载
    public static ComplexNumber operator +(ComplexNumber a, ComplexNumber b)
    {
        return new ComplexNumber { Real = a.Real + b.Real, Imaginary = a.Imaginary + b.Imaginary };
    }
}
// 事件
class EventExample
{
    // 事件声明
    public event EventHandler MyEvent;

    // 触发事件的方法
    public void RaiseEvent()
    {
        MyEvent?.Invoke(this, EventArgs.Empty);
    }
}
// 析构函数
class ResourceHolder
{
    // 析构函数
    ~ResourceHolder()
    {
        // 释放资源的代码
    }
}
// 类型(内部类)
class OuterClass
{
    // 嵌套类型
    public class InnerClass
    {
        // 内部类的成员
    }
}

你可能感兴趣的:(c#,开发语言,学习,经验分享)