news 2026/6/21 7:10:39

C# 四种特殊类:抽象类、密封类、静态类、部分类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 四种特殊类:抽象类、密封类、静态类、部分类

C# 中共有四种特殊类,各自拥有严格的特性、使用限制和场景,是基础笔试、面试高频考点。分别为:抽象类 abstract密封类 sealed静态类 static部分类 partial

一、抽象类 abstract class

1. 核心代码

// 抽象类:专门用于被继承的模板类 abstract class Test { }

2. 核心特性(必背)

  • 不能被实例化(不能 new)

  • 专门用于被子类继承,充当父类模板

  • 可以包含普通成员、虚方法、抽象方法

  • 只要类中有抽象方法,该类必须是抽象类

3. 一句话总结

抽象类是“模板”,只能被继承,不能直接创建对象。


二、密封类 sealed class

1. 核心代码

// 密封类:可以实例化、不能被继承 sealed class Test1 { }

2. 核心特性(必背)

  • 可以被实例化(可以 new)

  • 不能被任何类继承(最终类、终止继承链)

  • 无派生类,杜绝重写和扩展

  • 使用sealed修饰

3. 一句话总结

密封类是“最终类”,可以造对象,禁止别人继承。

二、抽象类 abstract class

1. 核心特点

  • 使用abstract修饰

  • 不能实例化(不能 new)

  • 唯一作用:专门用来被继承

2. 内部可包含成员

  • 普通属性、普通方法(有方法体)

  • 抽象属性、抽象方法(无方法体)

3. 继承规则

  • 普通子类继承抽象类:必须重写所有抽象成员

  • 抽象子类继承抽象类:可以不实现,继续传递给子类


三、静态类 static class

1. 核心代码

// 静态类:全部成员静态、不能实例化、不能被继承 static class Test2 { // 静态类只能包含静态成员 public static int Age { get; set; } }

2. 核心特性(必考重点)

  • 不能被实例化(禁止 new)

  • 不能被继承、也不能继承其他类

  • 所有成员必须是静态的(字段、属性、方法)

  • 程序启动时自动加载,全局唯一

  • 通过类名.成员直接调用 例:Test2.Age = 18;

  • 使用static修饰

3. 一句话总结

静态类是工具类,全员静态,不能造对象、不能被继承。


四、部分类 partial class

1. 核心代码

// 部分类:可拆分多文件,编译自动合并 partial class Test3 { }

2. 核心原理

部分类允许将同一个类的代码拆分到多个不同的代码文件中,程序编译时,编译器会自动将所有partial分部代码合并为一个完整的类

3. 使用规则(必记)

  • 必须使用partial关键字修饰

  • 所有分部类类名、命名空间必须完全一致

  • 每一个拆分文件都必须带 partial

  • 编译后对外仍是一个类,无感知拆分

4. 适用场景

团队协作、自动生成代码与手写代码分离、超大类拆分维护。

5. 一句话总结

部分类是“拆分合并类”,写时分文件,跑时是一个类。


五、四大特殊类终极对比表(满分背诵版)

类类型

关键字

能否实例化(new)

能否被继承

核心特点

抽象类

abstract

❌ 不能

✅ 可以

模板类,用于被继承

密封类

sealed

✅ 可以

❌ 不能

最终类,禁止继承

静态类

static

❌ 不能

❌ 不能

全员静态,工具类

部分类

partial

✅ 可以

✅ 可以

分文件编写,编译合并

六、高频易错考题总结

  • 抽象类不能 new,但可以包含普通方法

  • 密封类是杜绝派生,不影响实例化

  • 静态类双重禁止:不能实例化、不能被继承

  • 静态类中不允许出现实例成员

  • partial 只是语法拆分,运行时是一个完整类

七、简答题满分模板

1. 抽象类的特点?

抽象类使用abstract修饰,不能实例化,主要用于被继承;可以包含普通成员和抽象成员,普通子类必须重写所有抽象成员,用于定义统一规范。

2. 密封类的特点?

密封类使用sealed修饰,可以实例化,但不能被继承,用于防止类被拓展和重写,保护核心逻辑。

3. 静态类的特点?

静态类使用static修饰,不能实例化、不能被继承,内部所有成员必须为静态成员,通过类名直接调用,常用于工具类开发。

4. 部分类的作用?

部分类通过partial关键字实现,可以将一个类拆分到多个文件中编写,编译时自动合并为一个完整类,方便团队协作和代码分类管理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 7:09:47

【上班的“乐趣”】把上班看成:别人付钱让你长本事

目录 01 你对工作的定义太窄了 02 那些比工资更重要的东西 03 想清楚要什么,比单纯逃离更重要 Hello~见字如面,我是Tracy~ 我相信很多职场人都有过这样的时刻: 每天被闹钟叫醒,挤进通勤的人潮,在工位上处理似乎…

作者头像 李华
网站建设 2026/6/19 6:27:09

技术产品核心指标体系的敏捷排期策略

技术产品核心指标体系的敏捷排期策略那个被砍掉的迭代让我学会了:指标建设不能"全都要"去年 Q2,我负责一个 B 端数据产品的指标体系搭建。当时 Product Owner 列了一张 40 指标的清单,说"Q2 全部上线"。我兴冲冲排了 10 …

作者头像 李华
网站建设 2026/6/14 3:48:55

Cesium for Unity终极指南:5分钟创建真实世界3D场景

Cesium for Unity终极指南:5分钟创建真实世界3D场景 【免费下载链接】cesium-unity-samples Sample project for Cesium for Unity 项目地址: https://gitcode.com/gh_mirrors/ce/cesium-unity-samples 想要在Unity中快速构建全球规模的3D地理空间应用吗&…

作者头像 李华