C# 是一种面向对象的编程语言,其程序结构与许多其他现代编程语言相似。然而,C# 提供了独特的特性和最佳实践,以确保代码的清晰、可维护和高效。本章将详细介绍如何构建一个有效的 C# 程序。
类与对象
定义类
类是 C# 中的基本构建块之一。类定义了一组属性(变量)和方法(函数),这些属性和方法描述了该类的对象的行为和状态。以下是定义一个简单的类的示例:
-- -------------------- ---- ------- ----- --- - -- -- ------ ------ ----- ------ ------ ------ ------ --- ----- -- -- ------ ---- ------- - ---------------------- --- -- ---------- - -
创建对象
一旦定义了类,就可以使用 new
关键字创建该类的实例。每个实例都是一个独立的对象,可以有自己的属性值:
Car myCar = new Car(); myCar.Make = "Toyota"; myCar.Model = "Corolla"; myCar.Year = 2022; myCar.Drive(); // 输出:The car is moving.
方法
方法声明
方法是执行特定任务的代码块。它们可以有参数,也可以返回值。方法可以在类内部或外部定义,但通常是在类内部定义的。以下是一个方法的例子:
-- -------------------- ---- ------- ------ ----- ---------- - ------ --- ------- -- --- -- - ------ - - -- - ------ ------ ------------- -- ------ -- - -- -- -- -- ----- --- ---------------------------- ------ - - -- - -
方法调用
调用方法时,需要使用对象名和点运算符,后跟方法名和括号中的任何参数:
Calculator calc = new Calculator(); int sum = calc.Add(5, 3); // sum = 8 double result = calc.Divide(10, 2); // result = 5.0
属性
属性定义
属性允许你控制对类成员的访问。它们通常是私有的,但通过公共的 getter 和 setter 方法公开。这有助于封装数据并提供额外的验证逻辑:
-- -------------------- ---- ------- ------ ----- ------ - ------- ------ ----- ------ ------ ---- - --- - ------ ----- - --- - -- ------------- - -- ----- --- -------------------------- ---- - ------ - - -
属性使用
属性的使用方式与公共字段相同,但提供了更多的灵活性和安全性:
Person person = new Person(); person.Name = "Alice"; // 正常 // person.Name = ""; // 抛出异常 Console.WriteLine(person.Name);
构造函数
构造函数定义
构造函数是一种特殊的方法,用于初始化新创建的对象。构造函数的名字必须与类名相同,并且没有返回类型:
-- -------------------- ---- ------- ------ ----- ---- - ------ ------ ------ ------ ------ ------- ------ ----------- ------ ------ ------- - ----- - ------ ------ - ------- - -
构造函数调用
当创建对象时,构造函数会自动调用:
Book book = new Book("C# in Depth", "Jon Skeet"); Console.WriteLine(book.Title); // 输出:C# in Depth Console.WriteLine(book.Author); // 输出:Jon Skeet
静态成员
静态字段
静态字段属于类而不是对象。这意味着所有类的实例共享同一个静态字段:
-- -------------------- ---- ------- ------ ----- ------- - ------ ------ --- ----- - -- ------ --------- - -------- - - ------- -- - --- ---------- ------- -- - --- ---------- --------------------------------- -- ----
静态方法
静态方法也属于类而不是对象。可以通过类名直接调用静态方法,而无需创建类的实例:
public class MathHelper { public static int Max(int a, int b) { return a > b ? a : b; } } int max = MathHelper.Max(10, 20); // max = 20
命名空间
使用命名空间
命名空间用于组织代码并避免命名冲突。你可以通过 using
指令来引入命名空间:
-- -------------------- ---- ------- ----- ------- --------- ----------- - ----- ------- - ------ ---- ------------- - ------------------------ ---- --------------- - - - ------------------- --- - --- ---------------------- ------------------
创建命名空间
你也可以自己创建命名空间来组织代码:
namespace MyCustomNamespace { class CustomClass { public void Display() { Console.WriteLine("This is a custom class."); } } }
总结
本章介绍了 C# 程序的基本结构,包括类与对象、方法、属性、构造函数、静态成员以及命名空间。理解这些基本概念对于编写结构良好、易于维护的 C# 程序至关重要。在接下来的内容中,我们将深入探讨更多高级主题。