当前位置: 首页> 文旅> 文化 > 北仑seo排名优化技术_互联网怎么学_长沙seo优化推荐_百度百度一下首页

北仑seo排名优化技术_互联网怎么学_长沙seo优化推荐_百度百度一下首页

时间:2025/8/9 4:53:21来源:https://blog.csdn.net/pu_yu_hun_jin/article/details/146242888 浏览次数:1次
北仑seo排名优化技术_互联网怎么学_长沙seo优化推荐_百度百度一下首页

‌C# 类‌是面向对象编程(OOP)中的核心概念之一,用于定义对象的模板或蓝图,包含数据成员(字段、属性)和函数成员(方法、事件等)。类提供了封装机制,将数据和操作数据的方法组合在一起,隐藏内部实现细节,只对外提供有限的接口,从而提高代码的可维护性和安全性。‌

1. 类的本质‌

  • 引用类型‌:对象存储在堆(Heap)中,变量持有对象引用。
  • ‌面向对象三大特性‌:
    ‌封装‌:通过访问修饰符(public/private/protected)控制成员可见性。
    ‌继承‌:单继承(class Derived : Base),支持多层继承。
    ‌多态‌:通过虚方法(virtual)、抽象方法(abstract)和重写(override)实现。

2. 类的基本结构‌

[访问修饰符] class 类名 [: 基类] [, 接口1, 接口2...]
{// 成员定义private string _field;          // 字段public string Property { get; set; } // 属性public void Method() { }        // 方法public 类名() { }               // 构造函数~类名() { }                     // 析构函数(极少使用)
}

‌3. 核心成员类型‌

成员类型说明示例
‌字段‌存储数据的变量,通常设为private private int _id;
‌属性‌封装字段,控制读写逻辑public string Name { get; private set; }
‌方法‌定义对象行为public void Save() { … }
‌构造函数‌初始化对象,支持重载public Person(string name) { … }
‌事件‌用于发布-订阅模式public event EventHandler OnClick;
‌索引器‌使对象支持类似数组的访问public int this[int i] { get; set; }

‌4. 关键特性‌

  • ‌静态成员‌:类级别共享,通过 static 关键字定义。
public static int Count;  // 静态字段
public static void Log() { } // 静态方法
  • ‌抽象类‌:用 abstract 修饰,不能实例化,用于定义通用逻辑。
public abstract class Shape { public abstract double Area(); }
  • ‌密封类‌:用 sealed 修饰,禁止继承。
public sealed class StringUtils { }
  • ‌分部类‌:用 partial 拆分类到多个文件。
// File1.cs
public partial class Data { } 
// File2.cs
public partial class Data { }

‌5. 类 vs 结构体(Struct)‌

‌特性‌‌类(Class)‌‌结构体(Struct)‌
‌内存分配‌堆内存栈内存(通常)
‌赋值行为‌复制引用(修改副本影响原对象)复制值(副本独立)
‌继承‌支持不支持
‌默认构造器‌有无参构造器C# 10 前不能显式定义无参构造器
‌适用场景‌复杂对象、需继承或引用语义小型数据(如坐标点、颜色值)

‌6. 最佳实践‌

  1. 封装数据‌:字段设为 private,通过属性暴露必要访问。
  2. 避免过深继承‌:优先使用组合而非继承。
  3. 不可变设计‌:对线程安全的数据使用 readonly 字段。
public class ImmutablePoint
{public readonly int X;public readonly int Y;public ImmutablePoint(int x, int y) => (X, Y) = (x, y);
}
  1. 资源释放‌:实现 IDisposable 接口管理非托管资源,而非依赖析构函数。
public class FileReader : IDisposable
{private Stream _stream;public void Dispose() => _stream?.Close();
}

‌7. 典型类示例‌

public class BankAccount
{// 字段private decimal _balance;private readonly string _owner;// 属性public decimal Balance => _balance; // 只读属性// 构造函数public BankAccount(string owner, decimal initialBalance){_owner = owner;_balance = initialBalance;}// 方法public void Deposit(decimal amount){if (amount <= 0)throw new ArgumentException("Deposit amount must be positive");_balance += amount;}// 重写 ToStringpublic override string ToString() => $"{_owner}'s account: {_balance:C}";
}
// 使用
var account = new BankAccount("Alice", 1000);
account.Deposit(500);
Console.WriteLine(account); // 输出: Alice's account: $1,500.00

掌握类的核心设计原则,可以高效构建可维护的面向对象程序。根据场景选择类或结构体,合理使用封装、继承和多态,是提升代码质量的关键。

关键字:北仑seo排名优化技术_互联网怎么学_长沙seo优化推荐_百度百度一下首页

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: