博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#中形态各异的class
阅读量:4034 次
发布时间:2019-05-24

本文共 5444 字,大约阅读时间需要 18 分钟。

本篇是基本知识,老码农请无视!!!

普通
静态
抽象
密封
分部
修饰关键字
static
abstract
sealed
partial
构造函数调用时机
实例化(new)时
内部任意静态成员调用时
子类实例化(new)时 实例化(new)时
实例化(new)时
包含成员

字段

属性

方法

事件

索引器

运算符重载

自定义类型

静态字段

静态属性

静态方法

静态事件

自定义类型

普通类所有的成员

抽象属性

抽象方法

抽象事件

抽象索引器

与普通类所有的成员 与普通类所有的成员
特征
可实例化(new),可继承 只有一份,直接用类名调用 必须子类实例化
不能有子类 实质就是把一个类分成多个部分来写,类名相同
#region 普通类    ///     /// 普通类    ///     public class CommonClass    {        ///         /// 自定义枚举类型        ///         enum MyEnum        {            enum1,            enum2        }        ///         /// 自定义委托类型        ///         public delegate void MyDeleaget();        ///         /// 构造函数        ///         public CommonClass()        {            _arr = new double[10];        }        ///         /// 字段        ///         private string _myField;        ///         /// 属性        ///         public string MyProperty { get; set; }        ///         /// 方法        ///         public void MyMethod()        { }        ///         /// 事件        ///         public event MyDeleaget MyEvent;        ///         /// 运算符重载        ///         ///         ///         /// 
public static CommonClass operator +(CommonClass a, CommonClass b) { return new CommonClass() { MyProperty = a.MyProperty + b.MyProperty }; } /// /// 索引器集合 /// double[] _arr; /// /// 索引器 /// /// ///
public double this[int index] { get { return _arr[index]; } set { _arr[index] = value; } } } #endregion #region 静态类 public static class StaticClass { /// /// 静态构造函数 /// static StaticClass() { Console.WriteLine("静态类构造函数"); } /// /// 静态方法 /// public static void StaticMethod() { Console.WriteLine("静态类中静态方法"); } /// /// 静态属性 /// public static string StaticProperty { get; set; } /// /// 自定义委托类型 /// public delegate void MyDeleaget(); /// /// 字段 /// private static string _myField; /// /// 事件 /// public static event MyDeleaget MyEvent; } #endregion #region 抽像类 /// /// 抽像类 /// public abstract class AbstractClass { public AbstractClass() { Console.WriteLine("抽象类构造函数"); } /// /// 自定义委托类型 /// public delegate void MyDeleaget(); /// /// 属性 /// public string MyProperty { get; set; } /// /// 方法 /// public abstract void MyMethod(); /// /// 事件 /// public abstract event MyDeleaget MyEvent; /// /// 索引器 /// /// ///
public abstract double this[int index] { get; set; } } #endregion #region 密封类 /// /// 密封类 /// public sealed class SealedClass { /// /// 构造函数 /// public SealedClass() { Console.WriteLine("密封类构造函数"); } /// /// 自定义委托类型 /// public delegate void MyDeleaget(); /// /// 字段 /// private string _myField; /// /// 属性 /// public string MyProperty { get; set; } /// /// 方法 /// public void MyMethod() { } /// /// 事件 /// public event MyDeleaget MyEvent; /// /// 运算符重载 /// /// /// ///
public static SealedClass operator +(SealedClass a, SealedClass b) { return new SealedClass() { MyProperty = a.MyProperty + b.MyProperty }; } /// /// 索引器集合 /// double[] _arr; /// /// 索引器 /// /// ///
public double this[int index] { get { return _arr[index]; } set { _arr[index] = value; } } } #endregion #region 分部类 /// /// 分部类1 /// public partial class PartialClass { public PartialClass() { Console.WriteLine("分部类构造函数"); } /// /// 自定义委托类型 /// public delegate void MyDeleaget(); /// /// 字段 /// private string _myField; /// /// 属性 /// public string MyProperty { get; set; } /// /// 方法 /// public void MyMethod() { } /// /// 运算符重载 /// /// /// ///
public static PartialClass operator +(PartialClass a, PartialClass b) { return new PartialClass() { MyProperty = a.MyProperty + b.MyProperty }; } /// /// 索引器集合 /// double[] _arr; } /// /// 分部类1 /// public partial class PartialClass { /// /// 事件 /// public event MyDeleaget MyEvent; /// /// 索引器 /// /// ///
public double this[int index] { get { return _arr[index]; } set { _arr[index] = value; } } } #endregion

转载地址:http://bpkdi.baihongyu.com/

你可能感兴趣的文章
使用file查看可执行文件的平台性,x86 or arm ?
查看>>
qt5 everywhere 编译summary
查看>>
qt5 everywhere编译完成后,找不到qmake
查看>>
arm-linux开机读取硬件时钟,设置系统时钟。
查看>>
交叉编译在x86上调试好的qt程序
查看>>
/dev/input/event0 键盘输入
查看>>
qt 创建异形窗体
查看>>
可重入函数与不可重入函数
查看>>
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
opencv test code-1
查看>>
eclipse 导入先前存在的项目
查看>>
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
busybox passwd修改密码
查看>>
wpa_supplicant控制脚本
查看>>
rfkill: WLAN hard blocked
查看>>
gstreamer相关工具集合
查看>>
arm 自动升级脚本
查看>>