欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#開(kāi)發(fā)基礎(chǔ)知識(shí)中對(duì)于類(lèi)(class)的詳解

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

類(lèi)

類(lèi)是自定義數(shù)據(jù)類(lèi)型的藍(lán)圖,對(duì)現(xiàn)實(shí)生活中一類(lèi)具有共同特征的事物的抽象。它是面向?qū)ο笾械母拍睿敲嫦驅(qū)ο缶幊痰幕A(chǔ)。

類(lèi)是一種數(shù)據(jù)結(jié)構(gòu),包含了數(shù)據(jù)成員(字段、常量)和函數(shù)成員(方法、屬性、索引器、事件、運(yùn)算符、構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù))。類(lèi)的類(lèi)型是支持繼承。

1、類(lèi)的聲明

class是聲明類(lèi)的關(guān)鍵字,其格式為[訪(fǎng)問(wèn)修飾符] class 類(lèi)名稱(chēng) [: 父類(lèi)名] { [訪(fǎng)問(wèn)修飾符] 數(shù)據(jù)成員函數(shù)成員 }。關(guān)于訪(fǎng)問(wèn)修飾符可以閱讀前面文章訪(fǎng)問(wèn)修飾符。下面通過(guò)一段代碼了解其定義:

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

2、構(gòu)造函數(shù)

 構(gòu)造函數(shù)是一個(gè)與類(lèi)共享相同名稱(chēng)的方法,每個(gè)類(lèi)只有一個(gè)通常設(shè)置在類(lèi)中定義的變量的初始值。
構(gòu)造函數(shù)類(lèi)型有默認(rèn)構(gòu)造函數(shù)、參數(shù)化構(gòu)造函數(shù)、復(fù)制構(gòu)造函數(shù)、靜態(tài)構(gòu)造函數(shù)和私有構(gòu)造函數(shù)。默認(rèn)構(gòu)造函數(shù)沒(méi)有任何參數(shù)
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>        /// 構(gòu)造函數(shù)        /// </summary>        public Cars()        {            Console.WriteLine("已聲明創(chuàng)建對(duì)象");        }        /// <summary>        /// 析構(gòu)函數(shù)        /// </summary>        ~ Cars()        {            Console.WriteLine("對(duì)象已被刪除");        }    }}//== 引用using System;
namespace Fountain.Net.Base.Sample{    class Program    {        static void Main(string[] args)        {            Cars cars=new Cars();            // 設(shè)置            cars.Brand="dotNet開(kāi)發(fā)技術(shù)分享";            // 獲取后輸出            Console.WriteLine(string.Format("汽車(chē)品牌:{0}",cars.Brand));            //            Console.ReadLine();        }    }}
//== 結(jié)果已聲明創(chuàng)建對(duì)象汽車(chē)品牌:dotNet開(kāi)發(fā)技術(shù)分享
對(duì)象已被刪除

3、析構(gòu)函數(shù)

析構(gòu)函數(shù)是一種特殊的成員函數(shù),用于在對(duì)象被銷(xiāo)毀時(shí)執(zhí)行必要的釋放資源。

析構(gòu)函數(shù)特性:一個(gè)類(lèi)只能有一個(gè)、無(wú)法繼承或重載、無(wú)法調(diào)用、既沒(méi)有修飾符,也沒(méi)有參數(shù)。

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

4、抽象類(lèi)

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

5、密封類(lèi)

sealed關(guān)健字修飾符定義的類(lèi),密封類(lèi)特性有不能被繼承。如果是密封成員,則派生類(lèi)中不能對(duì)其重寫(xiě)該成員。密封成員屬性可提高反射在檢索屬性時(shí)的性能。

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

6、靜態(tài)類(lèi)

static關(guān)健字修飾符定義的類(lèi),靜態(tài)類(lèi)主要特性有不能實(shí)例化僅包含靜態(tài)成員密封的不能包含實(shí)例構(gòu)造函數(shù)

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

小結(jié)

以上是C#中面向?qū)ο蠡A(chǔ)的類(lèi)的全部?jī)?nèi)容希望對(duì)大家理解類(lèi)一定的參考借鑒價(jià)值, 敬請(qǐng)關(guān)注后續(xù)內(nèi)容。


該文章在 2024/3/26 18:53:27 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved