当前位置: 首页 > news >正文

C#类的分类

一普通类

见前文

二静态类

1.定义

static修饰的类,不能创建对象,所有成员必须是静态的(static),专门用来存放工具方法、通用数据

2.核心特点

  1. 不能用new创建对象
  2. 不能被继承
  3. 不能有非静态成员(字段方法必须加staic)
  4. 直接通过类名.成员名调用
  5. 全局共用,只加载一次

3.语法

public static class 类名 { // 所有成员必须是static public static 字段/属性/方法 }

三抽象类

1.定义

被abstract修饰的类,专门做父类,用来定义规范,不能直接创建对象,必须由子类继承并实现抽象方法

用在哪?

用在一个子类(猫)既有父类(动物)共有的方法(呼吸),但是猫有自己独特的方法(猫叫),也就是这个抽象类可以实现即有共有方法,又有需要子类重写的重载方法

2.核心特点

  1. 不能用new创建对象
  2. 可以被继承(必须做父类)
  3. 可以包含抽象方法(也就是强制重写的方法,不写实现(方法体),只写方法名)
  4. 可以包含普通方法,字段,属性
  5. 结合多态使用

3.语法

public abstract class 类名 { // 抽象方法:无方法体,必须加abstract public abstract void 方法名(); // 普通方法:可以有实现 public void 普通方法(){} }

四密封类

1.定义

sealed修饰的类,禁止被继承,相当于 “断子绝孙类”,防止其他类继承它修改逻辑。

2.核心特点

  1. 可以new创建对象
  2. 不能被任何类继承
  3. 可以实现接口
  4. 保护核心逻辑不被修改
public sealed class 类名 { // 成员 }

五部分类

1.定义

partial修饰的类,可以把一个类拆分成多个文件 / 多个代码块,代码最终会合并为同一个类,不影响功能。

2.特点

  1. 可以拆分同一个类的代码
  2. 多个部分类最终合并为同一个类
  3. 常用于自动生成代码+手写代码分离
  4. winform/上位机界面开发必用
// 第一部分 public partial class 类名 { // 成员1 } // 第二部分 public partial class 类名 { // 成员2 }

六嵌套类

1.定义

一个类写在另一个类的内部,内部的类叫嵌套类,只能被外部类使用,实现封装隐藏。

2.核心特点

✅ 嵌套类在外部类内部

✅ 控制访问权限,隐藏内部逻辑

✅ 提高代码内聚性

public class 外部类 { // 嵌套类 private class 嵌套类 { // 成员 } }

七泛型类

1. 定义(是什么)

<T>泛型参数的类,一套代码适配多种数据类型,不用为每种类型单独写类,极大提高代码复用性。

2. 核心特点

✅ 一套代码适配 int/string/ 自定义类等所有类型

✅ 避免类型转换,安全高效

✅ 集合类(List、Dictionary)底层都是泛型类

public class 类名<T> { // 用T代表任意类型 public T Data { get; set; } }
http://www.jsqmd.com/news/608243/

相关文章:

  • Amber插件系统开发指南:如何扩展框架功能的完整教程
  • 【PHP 8.9异步I/O性能跃迁指南】:实测提升327%吞吐量的7个底层优化技巧
  • 破局者:ImageGlass如何重新定义图像浏览体验
  • 【2026年最新600套毕设项目分享】基于小程序的购物系统(30001)
  • 2026年4月最新解析:全国泄爆墙厂家实力甄选!防火防爆墙/抗爆墙 - 深度智识库
  • 大模型时代的算法工程师:工作内容与薪资真相
  • novelWriter错误处理与故障排除:常见问题解决方案大全
  • Snap Hutao:提升原神体验的全方位游戏辅助解决方案
  • STM32CubeMX+Keil5+ESP8266:基于HAL库的物联网设备快速联网实战
  • 超越 DOE 菜单:最优设计和 OMARS 设计
  • T型三电平并网逆变器Matlab/Simulink仿真模型及其双闭环控制策略的研究报告与参考文献
  • 解锁毕业论文新姿势:好写作AI,你的学术“智能外挂”!
  • Kubernetes External Secrets多后端支持:AWS、Azure、GCP、Vault完整对比
  • 毕业季论文降AI实测:8款工具横评,知网维普稳过不踩坑
  • 我的开源项目被大厂 star 后,职业生涯彻底改变
  • Mac鼠标优化:告别卡顿滚动,让外接鼠标体验媲美触控板的完整方案
  • 2026最全Java高频面试题汇总
  • 导航困境:当GNSS信号“失联”,任务如何续航?
  • 46.Acwing基础课第850题-简单-Dijkstra求最短路Ⅱ
  • 软件测试从业者的中年危机:伪命题还是真焦虑?
  • PyTorch模型推理超快
  • 基于GroundingDINO与SAM的电商商品智能抠图实践
  • 如何在Windows上实现macOS风格的三指拖拽:ThreeFingerDragOnWindows完整配置指南
  • 【2026年最新600套毕设项目分享】微信小程序的家庭记账本系统(30002)
  • 科技简报 | 2026年4月7日
  • 如何规划你的技术栈,才能不被时代甩下?
  • Gradio应用搭建超简单
  • 终极指南:如何通过Hook技术破解百度网盘macOS版下载限速
  • 【2026-04-05】连岳摘抄
  • 基于File-Based App开发MVP项目吹