C# 类(Class)学习笔记
什么是类?
类是一种用户定义的引用类型。它可以包含数据成员、方法成员、属性成员、事件成员和嵌套类型。
如何声明一个类?
在 C# 中,我们可以通过使用 class 关键字声明一个类,例如:
csharpCopy Codepublic class MyClass
{
// 数据成员
private int myInt;
// 方法成员
public void MyMethod()
{
// 方法实现
}
// 属性成员
public int MyProperty { get; set; }
// 事件成员
public event EventHandler MyEvent;
// 嵌套类型
public class MyNestedClass
{
// 嵌套类型实现
}
}
如何创建一个类的实例?
我们可以使用 new 运算符创建一个类的实例,并调用其中的方法、属性等成员,例如:
csharpCopy CodeMyClass myObject = new MyClass();
myObject.MyMethod();
myObject.MyProperty = 42;
myObject.MyEvent += MyEventHandler;
类的继承
在 C# 中,我们可以使用继承来扩展一个类的功能。通过继承,子类可以重写父类的方法、属性等成员,也可以添加自己的成员,例如:
csharpCopy Codepublic class MyDerivedClass : MyClass
{
// 重写父类的方法
public override void MyMethod()
{
base.MyMethod();
// 子类的方法实现
}
// 添加自己的成员
public void MyNewMethod()
{
// 实现自己的方法
}
}
实例:计算器类
下面是一个简单的计算器类的实现,它可以进行加、减、乘、除运算,并且可以记录运算历史:
csharpCopy Codepublic class Calculator
{
private double lastResult;
public double Add(double a, double b)
{
lastResult = a + b;
return lastResult;
}
public double Subtract(double a, double b)
{
lastResult = a - b;
return lastResult;
}
public double Multiply(double a, double b)
{
lastResult = a * b;
return lastResult;
}
public double Divide(double a, double b)
{
if (b == 0)
{
throw new DivideByZeroException();
}
lastResult = a / b;
return lastResult;
}
public string GetHistory()
{
string history = "";
// 省略历史记录实现
return history;
}
}
我们可以创建一个 Calculator 的实例,并使用其中的方法:
csharpCopy CodeCalculator calculator = new Calculator();
double result = calculator.Add(1, 2); // result = 3
result = calculator.Multiply(result, 2); // result = 6
string history = calculator.GetHistory(); // 获取历史记录