日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中形态各异的class

發布時間:2023/12/4 C# 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中形态各异的class 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇是基本知識,老碼農請無視!!!


普通
靜態
抽象
密封
分部
修飾關鍵字

static
abstract
sealed
partial
構造函數調用時機
實例化(new)時
內部任意靜態成員調用時
子類實例化(new)時實例化(new)時
實例化(new)時
包含成員

字段

屬性

方法

事件

索引器

運算符重載

自定義類型

靜態字段

靜態屬性

靜態方法

靜態事件

自定義類型

普通類所有的成員

抽象屬性

抽象方法

抽象事件

抽象索引器

與普通類所有的成員與普通類所有的成員
特征
可實例化(new),可繼承只有一份,直接用類名調用必須子類實例化
不能有子類實質就是把一個類分成多個部分來寫,類名相同
#region 普通類/// <summary>/// 普通類/// </summary>public class CommonClass{/// <summary>/// 自定義枚舉類型/// </summary>enum MyEnum{enum1,enum2}/// <summary>/// 自定義委托類型/// </summary>public delegate void MyDeleaget();/// <summary>/// 構造函數/// </summary>public CommonClass(){_arr = new double[10];}/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 屬性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 運算符重載/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static CommonClass operator +(CommonClass a, CommonClass b){return new CommonClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion#region 靜態類public static class StaticClass{/// <summary>/// 靜態構造函數/// </summary>static StaticClass(){Console.WriteLine("靜態類構造函數");}/// <summary>/// 靜態方法/// </summary>public static void StaticMethod(){Console.WriteLine("靜態類中靜態方法");}/// <summary>/// 靜態屬性/// </summary>public static string StaticProperty { get; set; }/// <summary>/// 自定義委托類型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private static string _myField;/// <summary>/// 事件/// </summary>public static event MyDeleaget MyEvent;}#endregion#region 抽像類/// <summary>/// 抽像類/// </summary>public abstract class AbstractClass{public AbstractClass(){Console.WriteLine("抽象類構造函數");}/// <summary>/// 自定義委托類型/// </summary>public delegate void MyDeleaget();/// <summary>/// 屬性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public abstract void MyMethod();/// <summary>/// 事件/// </summary>public abstract event MyDeleaget MyEvent;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public abstract double this[int index] { get; set; }}#endregion#region 密封類/// <summary>/// 密封類/// </summary>public sealed class SealedClass{/// <summary>/// 構造函數/// </summary>public SealedClass(){Console.WriteLine("密封類構造函數");}/// <summary>/// 自定義委托類型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 屬性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 運算符重載/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static SealedClass operator +(SealedClass a, SealedClass b){return new SealedClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion#region 分部類/// <summary>/// 分部類1/// </summary>public partial class PartialClass{public PartialClass(){Console.WriteLine("分部類構造函數");}/// <summary>/// 自定義委托類型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 屬性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 運算符重載/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static PartialClass operator +(PartialClass a, PartialClass b){return new PartialClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;}/// <summary>/// 分部類1/// </summary>public partial class PartialClass{/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的C#中形态各异的class的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。