中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

C#中不同類的類型
來源:易賢網(wǎng) 閱讀:1089 次 日期:2014-09-05 15:49:43
溫馨提示:易賢網(wǎng)小編為您整理了“C#中不同類的類型”,方便廣大網(wǎng)友查閱!

類類型是由字段數(shù)據(jù)(成員變量)和操作字段數(shù)據(jù)的成員(屬性、方法、構(gòu)造函數(shù)、事件等)所構(gòu)成的自定義類型。其中字段數(shù)據(jù)表示類實(shí)例(對(duì)象)的狀態(tài)。

在C#中,類使用class關(guān)鍵字定義,例如:

public class Car{

//Car的字段(狀態(tài))

private int _speed;

private string _name;

//Car操作字段的屬性

public int Speed

{

set {this._speed=value;}

get{return this._speed;}

}

public string Name

{

set { this._name=value;}

get{return this._name;}

}

//顯式定義默認(rèn)構(gòu)造函數(shù)

public Car(){}

//自定義構(gòu)造函數(shù)

public Car(string name,int speed)

{

this._name=name;

this._speed=speed;

}

//Car的功能(方法)

public void ShowState()

{Console.WriteLine("Car {0} is going {1} MPH", this._name,this. _speed);}}

另:類的字段很少被定義為公開的,為了保護(hù)狀態(tài)數(shù)據(jù)的完整性,最好把字段數(shù)據(jù)定義為私有(或者受保護(hù)的),然后通過屬性對(duì)外提供受控制的訪問。

使用new關(guān)鍵字來分配對(duì)象

對(duì)象必須使用了new關(guān)鍵字來分配到內(nèi)存,如果不是用new,而隨后嘗試使用類變量的話,會(huì)收到一個(gè)編譯錯(cuò)誤。

public static void Main(string[] args){

//錯(cuò)誤,忘記使用new

Car c;

c.Name="Bruce";}

正確的例子:

public static void Main(string[] args)

{

//創(chuàng)建Car對(duì)象。

Car c;//聲明了指向尚未創(chuàng)建的Car對(duì)象的引用。

c=new Car("bruce wong",150);//通過new把有效的引用賦給對(duì)象,這引用才會(huì)指向內(nèi)存有效的對(duì)象。

c.ShowState();

Console.ReadKey(true); }?

類構(gòu)造函數(shù)

作用:給對(duì)象的字段(狀態(tài))賦值,它允許在創(chuàng)建對(duì)象時(shí)創(chuàng)建其狀態(tài)。

構(gòu)造函數(shù)是類特殊的方法,在使用new關(guān)鍵字創(chuàng)建對(duì)象時(shí)被間接調(diào)用。

注意:構(gòu)造函數(shù)沒有返回值(即使是void),它的名字總是和類的名字一樣。

默認(rèn)構(gòu)造函數(shù)

C#提供一個(gè)默認(rèn)的構(gòu)造函數(shù),需要時(shí)你可以重新定義,默認(rèn)構(gòu)造函數(shù)不接受任何參數(shù)。它把新的對(duì)象分配到內(nèi)存和確保所有的字段都被設(shè)置為正確的默認(rèn)值。當(dāng)你對(duì)這些默認(rèn)值不滿意,你可以重新定義默認(rèn)構(gòu)造函數(shù)。如:

public Car(){

this._name="My Car";

this._speed=100;}

那么每次使用new Car()都會(huì)創(chuàng)建狀態(tài)_name="My Car" _speed=100的Car對(duì)象。

自定義構(gòu)造函數(shù)

作用:在創(chuàng)建對(duì)象時(shí)可以直接初始化對(duì)象的狀態(tài)。

public Car(string name,int speed)

{

this._name=name;

this._speed=speed;

}

注意:一旦定義了自定義函數(shù),自帶的默認(rèn)構(gòu)造函數(shù)就自動(dòng)從類移除(不能用默認(rèn)構(gòu)造函數(shù)創(chuàng)建對(duì)象了)。如果希望使用默認(rèn)構(gòu)造函數(shù)創(chuàng)建類對(duì)象,就必須顯式定義默認(rèn)構(gòu)造函數(shù)。

this關(guān)鍵字的作用

一、提供對(duì)當(dāng)前實(shí)例的訪問。

可以解決傳入?yún)?shù)的名字與類型字段名字相同時(shí)產(chǎn)生的作用域歧義。例如:

class Car{

private string name;

public void SetName(string name)

{ this.name=name;}}

表示把參數(shù)name的值賦給本對(duì)象(實(shí)例)的字段name,this表示本實(shí)例。

二、參數(shù)傳遞。使用this進(jìn)行串聯(lián)構(gòu)造函數(shù)調(diào)用

使用一項(xiàng)名為構(gòu)造函數(shù)鏈的技術(shù)來設(shè)計(jì)類。當(dāng)類定義個(gè)了多個(gè)構(gòu)造函數(shù)時(shí),這個(gè)設(shè)計(jì)模式就會(huì)很有用。

由于構(gòu)造函數(shù)通常會(huì)檢驗(yàn)傳入的參數(shù)來強(qiáng)制各種業(yè)務(wù)規(guī)則,所以在類的構(gòu)造函數(shù)集合中經(jīng)常會(huì)找到冗余的驗(yàn)證邏輯。

class Car{

public int Speed{get;set;}

public string Name{get;set;}

public Car(){}

public Car(int speed){if(speed>150){speed=150;}this.Speed=speed;}

public Car(string name){this.Name=name;}

public Car(int speed,string name){if(speed>150){speed=150;}this.Speed=speed;this.Name=name;}}

串聯(lián)構(gòu)造函數(shù)方案:讓一個(gè)接受最多參數(shù)個(gè)數(shù)的構(gòu)造函數(shù)做“主構(gòu)造函數(shù)”,并實(shí)現(xiàn)必須的驗(yàn)證邏輯。其余的構(gòu)造函數(shù)使用this關(guān)鍵字把參數(shù)轉(zhuǎn)給主構(gòu)造函數(shù),并提供其他必需的參數(shù)。這樣,我們只關(guān)心主構(gòu)造函數(shù)的邏輯,而其他構(gòu)造函數(shù)體基本是空的了。

class Car{

public int Speed{get;set;}

public string Name{get;set;}

public Car(){}

public Car(int speed):this(speed,""){}

public Car(string name):this(0,name){}

// 主構(gòu)造函數(shù) public Car(int speed,string name)

{

if(speed>150) {speed=150;}

this.Speed=speed;

this.Name=name;

}}

使用this關(guān)鍵字串聯(lián)構(gòu)造函數(shù)方式可以簡(jiǎn)化編程任務(wù),類定義更加容易維護(hù)、更更加簡(jiǎn)明。但它不是強(qiáng)制使用的。

串聯(lián)構(gòu)造函數(shù)的執(zhí)行順序:

1、調(diào)用構(gòu)造函數(shù)把調(diào)用者提供的參數(shù)值轉(zhuǎn)發(fā)給主構(gòu)造函數(shù),并提供其他必須的初始化參數(shù)值。

2、執(zhí)行主構(gòu)造函數(shù)。

3、執(zhí)行調(diào)用構(gòu)造函數(shù)體的邏輯。

三、自定義索引器

class CarCollection:IEnumerable{

private ArrayList arCar=new ArrayList();

public Car this[int index]

{

get{ return (Car)arCar[index];}

set{arCar.Insert(index,value);}

}

//...}

static關(guān)鍵字

C#類(或者結(jié)構(gòu))可以使用static關(guān)鍵字來定義許多靜態(tài)成員。這些靜態(tài)成員只能從類級(jí)別而不能從對(duì)象級(jí)別上調(diào)用(調(diào)用靜態(tài)成員時(shí)不需要?jiǎng)?chuàng)建實(shí)例對(duì)象)。

例如:

//錯(cuò)誤,WriteLine是靜態(tài)成員,是類級(jí)別的方法。Console c=new Console();c.WriteLine("Bruce Wong");//正確!WriteLine是類級(jí)別的方法Console.WriteLine("Bruce Wong");

注意:

一、靜態(tài)成員只能操作靜態(tài)數(shù)據(jù)或調(diào)用類的靜態(tài)成員。而非靜態(tài)成員可以操作實(shí)例數(shù)據(jù)與靜態(tài)數(shù)據(jù)(成員),因?yàn)殪o態(tài)成員對(duì)類的所有實(shí)例都是可用的。

二、CLR把靜態(tài)數(shù)據(jù)分配到內(nèi)存只進(jìn)行一次,改變靜態(tài)數(shù)據(jù)將影響此類的所有實(shí)例。

定義靜態(tài)構(gòu)造函數(shù)

構(gòu)造函數(shù)用于在創(chuàng)建類對(duì)象時(shí)設(shè)置類對(duì)象的數(shù)據(jù)值。如果使用實(shí)例級(jí)別的構(gòu)造函數(shù)給靜態(tài)數(shù)據(jù)賦值,你會(huì)驚奇的發(fā)現(xiàn)每次新建類對(duì)象時(shí)靜態(tài)數(shù)據(jù)的只都會(huì)被重置。所以我們要初始化靜態(tài)數(shù)據(jù)最好使用靜態(tài)構(gòu)造函數(shù)。

靜態(tài)構(gòu)造函數(shù)是特殊的構(gòu)造函數(shù),它非常適用于初始化在編譯時(shí)未知的靜態(tài)數(shù)據(jù)的值:

一、一個(gè)類(結(jié)構(gòu))只能定義一個(gè)靜態(tài)構(gòu)造函數(shù)。

二、靜態(tài)構(gòu)造函數(shù)不允許訪問修飾符并且不能接受任何參數(shù)。

三、無(wú)論創(chuàng)建多少個(gè)類實(shí)例,靜態(tài)函數(shù)知執(zhí)行一次。

四、CLR創(chuàng)建類實(shí)例或首次調(diào)用類靜態(tài)成員前,CLR會(huì)調(diào)用靜態(tài)構(gòu)造函數(shù)。

五、靜態(tài)構(gòu)造函數(shù)先于實(shí)例級(jí)別的其他構(gòu)造函數(shù)執(zhí)行。

靜態(tài)類:一個(gè)類被定義為靜態(tài)的(使用static關(guān)鍵字修飾),就不能使用new關(guān)鍵字來創(chuàng)建類實(shí)例,靜態(tài)類只能包含用static標(biāo)記的靜態(tài)類成員或字段。

PS:項(xiàng)目的應(yīng)用程序?qū)ο?如定義Main()方法的類)通常定義為靜態(tài)類,以此來確保只包含靜態(tài)成員且不能被直接創(chuàng)建。如:

static class Program{

static void Main(string[] args)

{

//...

}}

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:C#中不同類的類型
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久成人国产精品| 欧美一级日韩一级| 欧美精品999| 欧美国产国产综合| 欧美精品一区三区在线观看| 噜噜噜91成人网| 久久午夜激情| 欧美中文在线观看| 亚洲欧美另类国产| 99精品久久免费看蜜臀剧情介绍| 亚洲第一网站免费视频| 在线观看亚洲视频| 亚洲国产精品精华液网站| 国产精品久久久久影院亚瑟 | 欧美性感一类影片在线播放 | 亚洲高清毛片| 99精品福利视频| 久久国产一区二区三区| 老司机免费视频一区二区三区| 久久婷婷色综合| 国产精品久久久久国产a级| 国产日韩精品在线播放| 亚洲精品一二区| 久久日韩粉嫩一区二区三区| 欧美日一区二区三区在线观看国产免| 国产日韩欧美在线观看| 夜夜嗨av一区二区三区| 欧美精品入口| 黄色在线成人| 亚洲素人一区二区| 亚洲香蕉伊综合在人在线视看| 久久伊伊香蕉| 亚洲国产合集| 亚洲欧美国产高清va在线播| 欧美日韩国产小视频在线观看| 伊人久久婷婷色综合98网| 亚洲免费观看在线观看| 欧美人成免费网站| 999亚洲国产精| 欧美另类久久久品| 亚洲理论在线| 亚洲第一主播视频| 久久精品72免费观看| 国产一区二区三区免费观看| 亚洲视频在线观看免费| 亚洲国产婷婷| 欧美精品一区在线| 一区二区三区四区精品| 国产精品萝li| 亚洲一区二区三区四区在线观看| 国产精品视频久久| 久久人人爽爽爽人久久久| 亚洲精品久久嫩草网站秘色| 国产精品高潮呻吟久久av无限| 亚欧美中日韩视频| 亚洲国产一区视频| 国产精品羞羞答答| 欧美国产成人在线| 欧美亚洲在线播放| 亚洲精选久久| 黄色资源网久久资源365| 欧美性色aⅴ视频一区日韩精品| 欧美亚洲免费高清在线观看| 欧美精品v日韩精品v国产精品| 亚洲一区二区免费在线| 在线 亚洲欧美在线综合一区| 欧美久久久久久久久久| 久久蜜桃精品| 国模私拍视频一区| 欧美视频一区二区三区| 欧美大尺度在线| 欧美在线观看一区二区三区| av成人免费在线观看| 亚洲国产欧美日韩| 亚洲成色www8888| 黄色日韩网站视频| 国模套图日韩精品一区二区| 国产欧美一区二区三区久久人妖| 久久久久久一区二区| 香蕉亚洲视频| 一本色道久久综合精品竹菊| 亚洲免费成人av| 亚洲激情网站| 国产精品亚洲综合色区韩国| 国产精品欧美久久久久无广告| 亚洲国产成人av在线| 欧美日韩一区二区三区免费看| 老司机免费视频一区二区三区| 欧美一区二区视频在线观看2020| 亚洲综合色丁香婷婷六月图片| 亚洲一二三四区| 亚洲一区影音先锋| 欧美亚洲免费在线| 久久综合99re88久久爱| 欧美顶级少妇做爰| 欧美午夜片在线免费观看| 国产区二精品视| 亚洲福利视频三区| 亚洲一区免费网站| 久久久99久久精品女同性| 欧美激情一区二区三区| 欧美视频三区在线播放| 国产在线精品二区| 9人人澡人人爽人人精品| 亚洲视频一二三| 精品动漫3d一区二区三区免费版| 国产精品福利久久久| 91久久极品少妇xxxxⅹ软件| 亚洲欧美日韩一区二区在线 | 中文日韩电影网站| 久久亚洲欧美国产精品乐播| 欧美日韩中文在线| 韩国av一区二区三区| 亚洲综合好骚| 国产精品高潮呻吟视频| 国产视频一区二区在线观看| 一本不卡影院| 欧美精品三区| 亚洲精品久久久一区二区三区| 欧美亚洲一区二区在线| 国产精品一区二区三区久久| 国产精品丝袜白浆摸在线| 亚洲精品视频在线观看网站| 久久深夜福利免费观看| 国产色视频一区| 欧美制服第一页| 伊人天天综合| 欧美二区在线播放| 亚洲欧洲精品一区二区三区不卡 | 亚洲欧美日韩视频一区| 久久精品国产69国产精品亚洲| 国产日韩欧美视频在线| 欧美一级淫片播放口| 亚洲美女视频网| 亚洲一区网站| 久久综合伊人77777麻豆| 欧美精品麻豆| 亚洲电影视频在线| 99在线精品免费视频九九视| 久久国产视频网站| 欧美视频在线观看一区| 欧美激情91| 好吊视频一区二区三区四区| 一区二区三区视频在线| 亚洲午夜成aⅴ人片| 亚洲一区二区黄| 亚洲综合日本| 欧美日韩的一区二区| 日韩视频中文字幕| 欧美国产日产韩国视频| 一区视频在线播放| 久久一区二区视频| 黑人巨大精品欧美一区二区| 亚洲伦理网站| 欧美人妖在线观看| 亚洲婷婷在线| 亚洲裸体视频| 韩国v欧美v日本v亚洲v| 久久综合久久久久88| 欧美一区二区三区免费观看视频| 亚洲激情黄色| 影院欧美亚洲| 国产一区二区三区精品久久久 | 亚洲另类视频| 在线日本成人| 亚洲黑丝在线| 亚洲国产综合在线| 99精品久久免费看蜜臀剧情介绍| 亚洲第一区在线| 亚洲视频网站在线观看| 性欧美8khd高清极品| 亚洲欧美国产日韩中文字幕| 久久精品国产精品亚洲精品| 久久亚洲精品伦理| 欧美三级电影一区| 欧美视频你懂的| 国产欧美日韩精品丝袜高跟鞋| 国产精品午夜春色av| 亚洲国产精品一区二区www| 一本色道久久综合狠狠躁篇的优点 | 亚洲欧美国产三级| 亚洲欧美经典视频| 另类人畜视频在线| 欧美日韩黄色一区二区| 国产一区二区三区在线观看免费| 亚洲第一久久影院| 欧美一级专区免费大片| 老司机成人网| 欧美手机在线视频| 亚洲国产精品久久久久久女王| 亚洲午夜一区| 欧美日韩国产色视频| 在线看无码的免费网站| 欧美一区高清| 国产日韩在线一区| 亚洲欧美三级伦理| 国产精品日产欧美久久久久| 亚洲午夜一二三区视频| 亚洲免费观看| 久久―日本道色综合久久|