第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用C#實(shí)現(xiàn)封裝

難度入門(mén)
時(shí)長(zhǎng) 2小時(shí)25分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.63
277人評(píng)價(jià) 查看評(píng)價(jià)
9.8 內(nèi)容實(shí)用
9.5 簡(jiǎn)潔易懂
9.6 邏輯清晰
  • 對(duì)象和類(lèi)的關(guān)系

    查看全部
  • 1、封裝

    2、繼承

    3、多態(tài)

    查看全部
  • 在同一個(gè)類(lèi)中,多個(gè)方法,名字相同,但參數(shù)不同,叫做方法的重載,

    查看全部
    0 采集 收起 來(lái)源:C# 方法的重載

    2019-07-22

  • 對(duì)私有屬性private進(jìn)行封裝

    查看全部
    0 采集 收起 來(lái)源:C#只讀屬性

    2019-07-19

  • 封裝的快捷鍵 Ctrl+R+E

    選中需要封裝的對(duì)象選中按快捷鍵。

    查看全部
  • 封裝 CTRL+R+E?

    查看全部
    0 采集 收起 來(lái)源:C#封裝的概念

    2019-07-17

  • 封裝的概念:隱藏對(duì)象的信息,留出訪(fǎng)問(wèn)的接口

    關(guān)于封裝:

    類(lèi)和對(duì)象;把字段封裝成屬性;方法;構(gòu)造方法;值類(lèi)型與引用類(lèi)型

    引用:結(jié)構(gòu) 枚舉 out ref

    查看全部
    0 采集 收起 來(lái)源:課程總結(jié)

    2019-07-02

  • ref起到傳參作用:

    out是獲取結(jié)果且可以返回多個(gè)值;return返回一個(gè)值。

    使用Out 修飾形參必須得給形參賦值

    https://img1.sycdn.imooc.com//5d1b0ac60001369b08750355.jpg

    查看全部
    0 采集 收起 來(lái)源:out關(guān)鍵字

    2019-07-02

  • 使用ref關(guān)鍵字可以使用值類(lèi)型變量的引用,相當(dāng)于C語(yǔ)言中的&(取地址)。

    ref需要在形參前面使用,包括調(diào)用的時(shí)候;另外屬性不能作為實(shí)參使用。

    https://img1.sycdn.imooc.com//5d1b08910001279a08450511.jpg

    查看全部
    0 采集 收起 來(lái)源:ref關(guān)鍵字

    2019-07-02

  • //按引用傳遞參數(shù),方法修改形參,通常實(shí)參也會(huì)被修改
    //按值傳遞參數(shù),方法修改形參,實(shí)參不會(huì)被修改

    https://img1.sycdn.imooc.com//5d1b06d40001255609250544.jpg

    查看全部
  • 枚舉:

    1、值類(lèi)型

    2、不能定義字段屬性和方法

    3、枚舉值是從0遞增的整數(shù)

    例子:enum Gender

    {

    男,女

    }

    男等同整型的0,女等同整型的1

    https://img1.sycdn.imooc.com//5d1ad09c000144dc09540543.jpg

    查看全部
    0 采集 收起 來(lái)源:枚舉

    2019-07-02

  • 簡(jiǎn)單來(lái)說(shuō),struct是值類(lèi)型,創(chuàng)建一個(gè)struct類(lèi)型的實(shí)例被分配在棧上。class是引用類(lèi)型,創(chuàng)建一個(gè)class類(lèi)型實(shí)例被分配在托管堆上。但struct和class的區(qū)別遠(yuǎn)不止這么簡(jiǎn)單。
    概括來(lái)講,struct和class的不同體現(xiàn)在:
    ●?類(lèi)是引用類(lèi)型,struct是值類(lèi)型
    ●?在托管堆上創(chuàng)建類(lèi)的實(shí)例,在棧上創(chuàng)建struct實(shí)例
    ●?類(lèi)實(shí)例的賦值,賦的是引用地址,struct實(shí)例的賦值,賦的是值
    ●?類(lèi)作為參數(shù)類(lèi)型傳遞,傳遞的是引用地址,struct作為參數(shù)類(lèi)型傳遞,傳遞的是值
    ●?類(lèi)沒(méi)有默認(rèn)無(wú)參構(gòu)造函數(shù),struct有默認(rèn)無(wú)參構(gòu)造函數(shù)
    ●?類(lèi)支持繼承,struct不支持繼承
    ●?類(lèi)偏向于"面向?qū)ο?,用于復(fù)雜、大型數(shù)據(jù),struct偏向于"簡(jiǎn)單值",比如小于16字節(jié),結(jié)構(gòu)簡(jiǎn)單
    ●?類(lèi)的成員很容易賦初值,很難給struct類(lèi)型成員賦初值
    ●?類(lèi)的實(shí)例只能通過(guò)new?someclass()來(lái)創(chuàng)建,struct類(lèi)型的實(shí)例既可以通過(guò)new?somestruct()來(lái)創(chuàng)建,也可以通過(guò)somestruct?mystruct;來(lái)創(chuàng)建
    一、從賦值的角度體驗(yàn)struct和class的不同
    引用類(lèi)型賦值,是把地址賦值給了變量
    
    
    class?program
    ??{
    ????static?void?main(string[]?args)
    ????{
    ??????sizeclass?sizeclass?=?new?sizeclass(){width?=?10,?length?=?10};
    ??????console.writeline("賦值前:width={0},length={1}",?sizeclass.width,?sizeclass.length);
    ?
    ??????var?copyofsizeclass?=?sizeclass;
    ??????copyofsizeclass.length?=?5;
    ??????copyofsizeclass.width?=?5;
    ??????console.writeline("賦值后:width={0},length={1}",sizeclass.width,?sizeclass.length);
    ??????console.readkey();
    ????}
    ??}
    ?
    ??public?class?sizeclass
    ??{
    ????public?int?width?{?get;?set;?}
    ????public?int?length?{?get;?set;?}
    ??}
    ?
    ??public?struct?sizestruct
    ??{
    ????public?int?width?{?get;?set;?}
    ????public?int?length?{?get;?set;?}
    ??}
    運(yùn)行結(jié)果如下圖所示:以上,當(dāng)把sizeclass賦值給copyofsize變量的時(shí)候,是把sizeclass所指向的地址賦值給了copyofsize變量,2個(gè)變量同時(shí)指向同一個(gè)地址。所以,當(dāng)改變copyofsizeclass變量的值,也相當(dāng)于改變了sizeclass的值。
    struct類(lèi)型賦值,是完全拷貝,在棧上多了一個(gè)完全一樣的變量
    
    
    class?program
    ??{
    ????static?void?main(string[]?args)
    ????{
    ??????sizestruct?sizestruct?=?new?sizestruct(){length?=?10,?width?=?10};
    ??????console.writeline("賦值前:width={0},length={1}",?sizestruct.width,?sizestruct.length);
    ?
    ??????var?copyofsizestruct?=?sizestruct;
    ??????copyofsizestruct.length?=?5;
    ??????copyofsizestruct.width?=?5;
    ??????console.writeline("賦值后:width={0},length={1}",?sizestruct.width,?sizestruct.length);
    ??????console.readkey();
    ????}
    ??}
    程序運(yùn)行結(jié)果如下圖所示:以上,當(dāng)把sizestruct賦值給copyofsizestruct變量的時(shí)候,是完全拷貝,改變copyofsizestruct的值不會(huì)影響到sizestruct。
    二、從參數(shù)傳值角度體驗(yàn)struct和class的不同
    引用類(lèi)型參數(shù)傳遞的是地址
    
    
    class?program
    ??{
    ????static?void?main(string[]?args)
    ????{
    ??????listtemp?=?new?list(){"my","god"};
    ??????temp.foreach(t?=>?console.write(t?+?"?"));
    ??????console.readkey();
    ????}
    ?
    ????public?static?void?changereferencetype(listlist)
    ????{
    ??????list?=?new?list(){"hello",?"world"};
    ????}
    ??}
    ???
    
    
    運(yùn)行結(jié)果:my?god
    為什么不是hello?world?
    →棧上的temp指向托管堆上的一個(gè)集合實(shí)例
    →當(dāng)temp放到changereferencetype(temp)方法中,本質(zhì)是把temp指向的地址賦值給了變量list
    →在changereferencetype(listlist)方法內(nèi)部,又把變量list的指向了另外一個(gè)集合實(shí)例地址
    →但temp的指向地址一直沒(méi)有改變
    我們?cè)賮?lái)改變changereferencetype(listlist)內(nèi)部實(shí)現(xiàn)方式,其它不變。
    
    
    class?program
    ??{
    ????static?void?main(string[]?args)
    ????{
    ??????listtemp?=?new?list(){"my","god"};?????
    ??????changereferencetype(temp);
    ??????temp.foreach(t?=>?console.write(t?+?"?"));
    ??????console.readkey();
    ????}
    ?
    ????public?static?void?changereferencetype(listlist)
    ????{
    ??????list.clear();
    ??????list.add("hello");
    ??????list.add("world");
    ????}
    ??}
    ???
    
    
    運(yùn)行結(jié)果:hello?world
    為什么不是my?god???
    →棧上的temp指向托管堆上的一個(gè)集合實(shí)例
    →當(dāng)temp放到changereferencetype(temp)方法中,本質(zhì)是把temp指向的地址賦值給了變量list
    →在changereferencetype(listlist)方法內(nèi)部,把temp和list共同指向的實(shí)例清空,又添加"hello"和"world"2個(gè)元素
    →由于list和temp指向的實(shí)例是一樣的,所以改變list指向的實(shí)例就等同于改變temp指向的實(shí)例
    以上,很好地說(shuō)明了:引用類(lèi)型參數(shù)傳遞的是地址。
    值類(lèi)型struct參數(shù)傳遞的是值
    ???
    class?program
    ??{
    ????static?void?main(string[]?args)
    ????{
    ??????size?s?=?new?size(){length?=?10,?width?=?10};
    ??????changestructtype(s);
    ??????console.write("length={0},width={1}",?s.length,s.width);
    ??????console.readkey();
    ????}
    ?
    ????public?static?void?changestructtype(size?size)
    ????{
    ??????size.length?=?0;
    ??????size.width?=?0;
    ????}
    ??}
    ?
    ??public?struct?size
    ??{
    ????public?int?length?{?get;?set;?}
    ????public?int?width?{?get;?set;?}
    ??}

    https://img1.sycdn.imooc.com//5d1ac6f500010c1b08920420.jpg

    查看全部
    0 采集 收起 來(lái)源:結(jié)構(gòu)

    2019-07-02

  • 值類(lèi)型:int/double/char/bool;

    引用類(lèi)型:類(lèi)/引用/接口,string屬于類(lèi),所以也是引用類(lèi)型,引用類(lèi)型new的時(shí)候慧創(chuàng)建新的對(duì)象,=賦值僅僅是地址的副本。

    值類(lèi)型賦值慧創(chuàng)建值的副本(開(kāi)辟新的內(nèi)存空間),修改某個(gè)副本,并不會(huì)影響其他副本的值;

    而引用類(lèi)型賦值創(chuàng)建的是內(nèi)存地址的副本(僅僅存儲(chǔ)地址而沒(méi)有開(kāi)辟內(nèi)訓(xùn)空間),修改任何一個(gè)副本,也同時(shí)修改其他的副本。

    https://img1.sycdn.imooc.com//5d1ab0a300017b5411920590.jpg

    查看全部
  • 對(duì)象初始化器https://img1.sycdn.imooc.com//5d1aab15000165c810750605.jpg

    查看全部
  • 構(gòu)造方法的重載https://img1.sycdn.imooc.com//5d1aa9d00001814a09190596.jpg

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
學(xué)習(xí)本課程之前,小伙伴們需要有C#語(yǔ)法基礎(chǔ),木有此項(xiàng)技能的童鞋們,請(qǐng)先移步《C#開(kāi)發(fā)輕松入門(mén)》進(jìn)行修煉~~
老師告訴你能學(xué)到什么?
1、類(lèi)和對(duì)象的概念 2、封裝的思想和實(shí)現(xiàn) 3、方法和構(gòu)造方法 4、值類(lèi)型與引用類(lèi)型

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!