本文共 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/