狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#開發基礎知識中對于類(class)的詳解

admin
2024年3月26日 18:53 本文熱度 634

類是自定義數據類型的藍圖,對現實生活中一類具有共同特征的事物的抽象。它是面向對象中的概念,是面向對象編程的基礎。

是一種數據結構,包含了數據成員(字段、常量)和函數成員(方法、屬性、索引器、事件、運算符、構造函數、析構函數和靜態構造函數)。類的類型是支持繼承。

1、類的聲明

class是聲明類的關鍵字,其格式為[訪問修飾符] class 類名稱 [: 父類名] { [訪問修飾符] 數據成員函數成員 }。關于訪問修飾符可以閱讀前面文章訪問修飾符。下面通過一段代碼了解其定義:

public class PrintImage{#region  數據成員  /// <summary>  /// 打印機名稱  /// </summary>  private string _Printername= string.Empty;;  /// <summary>  /// 圖片  /// </summary>  public Image ImageDocument { get; set; }#endregion
#region  函數成員  /// <summary>  /// 構造函數  /// </summary>  public PrintImage()  {    // 方法體內容  }  /// <summary>  /// 析構函數  /// </summary>  ~ PrintImage()  {    // 方法體內容      }          /// <summary  /// 打印方法  /// </summary>   public Print(string printername,Image image)  {    // 方法體內容  }  /// <summary  /// 預覽方法  /// </summary>  public Preview(Image image)  {    // 方法體內容  }  /// <summary>  /// 泛型方法  /// </summary>  /// <typeparam name="T"></typeparam>  /// <param name="parameter"></param>  public static void Show<T>(T parameter)  {    // 方法體內容  }#endregion}

2、構造函數

 構造函數是一個與類共享相同名稱的方法,每個類只有一個通常設置在類中定義的變量的初始值。
構造函數類型有默認構造函數、參數化構造函數、復制構造函數、靜態構造函數和私有構造函數。默認構造函數沒有任何參數
using System;
namespace Fountain.Net.Base.Sample{    public class Cars    {        /// <summary>        /// 品牌        /// </summary>        private  string brand =string.Empty;        /// <summary>        ///        /// </summary>        public string Brand        {            get { return brand; }            set { brand = value; }        }        /// <summary>        /// 構造函數        /// </summary>        public Cars()        {            Console.WriteLine("已聲明創建對象");        }        /// <summary>        /// 析構函數        /// </summary>        ~ Cars()        {            Console.WriteLine("對象已被刪除");        }    }}//== 引用using System;
namespace Fountain.Net.Base.Sample{    class Program    {        static void Main(string[] args)        {            Cars cars=new Cars();            // 設置            cars.Brand="dotNet開發技術分享";            // 獲取后輸出            Console.WriteLine(string.Format("汽車品牌:{0}",cars.Brand));            //            Console.ReadLine();        }    }}
//== 結果已聲明創建對象汽車品牌:dotNet開發技術分享
對象已被刪除

3、析構函數

析構函數是一種特殊的成員函數,用于在對象被銷毀時執行必要的釋放資源。

析構函數特性:一個類只能有一個、無法繼承或重載、無法調用、既沒有修飾符,也沒有參數。

//== 引用using System;
namespace Fountain.Net.Base.Sample{    class Program    {        static void Main(string[] args)        {            Cars cars=new Cars();            // 設置            cars.Brand="dotNet開發技術分享";            // 獲取后輸出            Console.WriteLine(string.Format("汽車品牌:{0}",cars.Brand));        }    }}
//== 結果已聲明創建對象汽車品牌:dotNet開發技術分享對象已被刪除

4、抽象類

abstract 關鍵字修飾符用于定義抽象類不完整,并且它僅用作基類。抽象類有幾個特性,包括不能直接實例化不能被密封、允許但非必包含抽象成員
using System;
namespace Fountain.Net.Base.Sample{    /// <summary>    /// 定義動物抽象類    /// </summary>    public abstract class Animal    {        public abstract void Run();     }    /// <summary>    /// 定義由動物類派生貓    /// </summary>    public class Cat : Animal    {        public override void Eat()        {            // 輸出            Console.WriteLine("小貓吃魚");        }    }}//== 引用using System;
namespace Fountain.Net.Base.Sample{    class Program    {        static void Main(string[] args)        {            Cat cat=new Cat();            // 調用方法            cat.Eat();            Console.ReadLine();        }    }}

5、密封類

sealed關健字修飾符定義的類,密封類特性有不能被繼承。如果是密封成員,則派生類中不能對其重寫該成員。密封成員屬性可提高反射在檢索屬性時的性能。

using System;using System.Collections.Generic;
namespace Fountain.Net.Base.Sample{    /// <summary>    /// 密封類    /// </summary>    public sealed class Users    {        /// <summary>        /// 用戶ID        /// </summary>        public string UserId { get; set; }        /// <summary>        /// 用戶名稱        /// </summary>        public string UserName { get; set; }        /// <summary>        /// 密封并重寫基類中的ShowInfo方法///        /// </summary>        public bool Login()        {            try            {                return true;            }            catch(Exception exception)            {                throw new Exception(exception.Message);            }        }        /// <summary>        /// 獲取用戶列表        /// </summary>        /// <returns></returns>        public Dictionary<string,string> Getuser()        {            try            {                Dictionary<string, string> userList = new Dictionary<string, string>();
               userList.Add("ID20240001", "A用戶");                userList.Add("ID20240002", "B用戶");                userList.Add("ID20240003", "C用戶");                userList.Add("ID20240004", "D用戶");
               return userList;
           }            catch (Exception exception)            {                throw new Exception(exception.Message);            }        }    }}
using System;
namespace Fountain.Net.Base.Sample{    class Program    {        static void Main(string[] args)        {            Users users = new Users();            users.UserId="ID20240001";            users.UserName="A用戶";            Console.WriteLine(string.Format("用戶:{0}-{1} 登錄狀態:{2}",users.UserId,users.UserName,users.Login()));                   Dictionary<string, string> userList = users.Getuser();            foreach (string item in userList.Keys)            {                Console.WriteLine(string.Format("在線用戶:{0}-{1}", item, userList[item]));            }            Console.ReadLine();        }    }}
// 輸出結果用戶:ID20240001-A用戶 登錄狀態:True在線用戶:ID20240001-A用戶在線用戶:ID20240002-B用戶在線用戶:ID20240003-C用戶在線用戶:ID20240004-D用戶

6、靜態類

static關健字修飾符定義的類,靜態類主要特性有不能實例化僅包含靜態成員密封的不能包含實例構造函數

using System;using System.IO;
namespace Fountain.Net.Base.Sample{    /// <summary>    /// 靜態類    /// </summary>    public static class Logs    {        // 靜態字段 當前程序的執行路徑        private static string path=System.AppDomain.CurrentDomain.BaseDirectory;        /// <summary>        /// 寫日志內容的靜態方法        /// </summary>        /// <param name="content">內容</param>        public static void Writting(string content)        {            try            {                // 根據日期定義文件名稱                string filename = string.Format("{0}.log",DateTime.Now.ToString("yyyyMMddHH"));                // 將內寫轉成字節                byte[] contentArray = System.Text.Encoding.UTF8.GetBytes(content);                // 創建文件流                using (FileStream fileStream = new FileStream(path + Path.DirectorySeparatorChar + filename, FileMode.Append, FileAccess.Write, FileShare.ReadWrite))                {                    fileStream.Seek(0, System.IO.SeekOrigin.End);                    // 寫入流                    fileStream.Write(contentArray, 0, contentArray.Length);                }            }            catch(Exception exception)            {                throw new Exception(exception.Message);            }        }    }}
// 應用// 靜態類 不用創建實列直接調用Logs.Writting("測試靜態類的調用");

小結

以上是C#中面向對象基礎的類的全部內容希望對大家理解類一定的參考借鑒價值, 敬請關注后續內容。


該文章在 2024/3/26 18:53:27 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved