3.1 类与对象
概述
类是面向对象编程(OOP)的核心概念,是创建对象的蓝图。对象是类的实例,包含数据(字段)和行为(方法)。本节将介绍如何在C#中定义类、创建对象以及使用它们。
类的定义
在C#中,使用class关键字定义类。类可以包含字段、属性、方法和构造函数等成员。
public class Person
{
// 字段(私有)
private string name;
private int age;
// 构造函数
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
// 属性(公有)
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// 方法
public void Greet()
{
Console.WriteLine($"Hello, my name is {name} and I am {age} years old.");
}
}
对象的创建与使用
通过new关键字创建类的实例(对象),并调用其成员。
// 创建Person对象
Person person1 = new Person("Alice", 30);
// 访问属性
Console.WriteLine(person1.Name); // 输出: Alice
// 调用方法
person1.Greet(); // 输出: Hello, my name is Alice and I am 30 years old.
类与对象的关系
- 类:定义对象的模板,包含成员声明。
- 对象:类的具体实例,占用内存并存储实际数据。
静态成员
使用static关键字定义静态成员,它们属于类而非对象。
public class MathUtility
{
public static int Add(int a, int b)
{
return a + b;
}
}
// 调用静态方法(无需创建对象)
int result = MathUtility.Add(5, 3); // result = 8
常见问题
- 字段与属性的区别:
- 字段通常为私有,直接存储数据。
- 属性提供对字段的封装,可添加逻辑(如验证)。
- 构造函数的作用:初始化对象的状态。
- 静态类的限制:静态类不能实例化,只能包含静态成员。
总结
- 类是对象的模板,对象是类的实例。
- 通过
new关键字创建对象。 - 静态成员属于类,而非特定对象。
在下一节中,我们将探讨面向对象的三大特性:封装、继承与多态。
