文章目录
7.2.1 类的概念
类(Class)是面向对象编程(OOP)中的核心概念之一,它作为创建对象的模板或蓝图,定义了对象的属性(数据)和方法(行为)。以下是类的一些关键特性和组成:
类的关键特性
-
抽象:类是对现实世界中事物的抽象,它定义了事物的通用特征和行为。
-
封装:类将数据和操作这些数据的方法组合在一起,并隐藏内部的实现细节,只对外提供有限的接口。
-
继承:类可以通过继承机制复用代码,子类可以继承父类的属性和方法。
-
多态:类可以实现多态性,即同一个方法在不同的对象中可以有不同的实现。
类的组成
-
数据成员
- 常量:在类中不会被修改的变量。
- 域(Field):类中用于存储数据的变量。
-
函数成员
- 方法(Method):类中定义的函数,用于执行类的行为。
- 属性(Property):用于控制对类中字段的访问。
- 事件(Event):用于处理对象间的通信。
- 索引器(Indexer):允许对象被索引,就像数组一样。
- 运算符(Operator):允许对类类型使用标准的C#运算符。
- 构造函数:用于初始化新创建的对象。
- 实例构造函数:初始化非静态成员。
- 静态构造函数:初始化静态成员。
- 析构函数(Destructor):在对象被销毁前执行清理工作。
-
嵌套类型:类中可以定义的其他类或结构。
示例代码
以下是C#中定义一个简单的类的例子:
using System;
// 定义一个类
public class Person
{
// 数据成员
private string name;
public int Age {
get; set; }
// 函数成员
public void Eat()
{
Console.WriteLine("Eating");
}
public void Sleep()
{
Console.WriteLine("Sleeping");
}
// 构造函数
public Person(string name)
{
this.name = name;
}
// 静态构造函数
static Person()
{
Console.WriteLine("Static constructor executed.");
}
// 嵌套类型
public class InnerClass
{
public void Display()
{
Console.WriteLine("Inner class method.");
}
}
}
public class Program
{
public static void Main()
{
// 创建Person类的实例
Person person = new Person("Alice");
person.Eat();
person.Sleep();
// 创建嵌套类的实例
Person.InnerClass innerClass = new Person.InnerClass();
innerClass.Display();
}
}
在这个示例中,Person
类有两个数据成员(name
和Age
),两个方法(Eat
和Sleep
),一个构造函数,一个静态构造函数和一个嵌套类型(InnerClass
)。Main
方法展示了如何创建Person
对象和InnerClass
对象的实例。
类是面向对象编程中实现封装和抽象的基础,是构建软件时组织代码的逻辑单元。
7.2.2 类的声明
在C#中,可以通过类修饰符来控制类的可见性和可访问性。以下是一些常用的类修饰符:
-
public
- 描述:类可以被任何其他类访问。
- 例如:
public class Car { ... }
-
private
- 描述:类只能在定义它的程序集中访问。
- 例如:
private class Car { ... }
(不常用,因为通常嵌套类使用private)
-
internal
- 描述:类只在当前程序集中可访问。
- 例如:
internal class Car { ... }
-
protected
- 描述:类可以被定义它的类以及其派生类访问(不常用于类本身,常用于