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

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

難度入門
時長 2小時25分
學習人數(shù)
綜合評分9.63
277人評價 查看評價
9.8 內(nèi)容實用
9.5 簡潔易懂
9.6 邏輯清晰
  • 123456

    查看全部
  • ref 關(guān)鍵字,將值傳遞改為引用傳遞

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

    2021-08-03

  • 構(gòu)造方法的作用:為屬性賦值。

    如果沒有顯式定義構(gòu)造方法,則會由一個默認的無參數(shù)的構(gòu)造方法

    如果顯示定義了構(gòu)造方法,則沒有默認構(gòu)造方法

    只能用 new 方法()的形式調(diào)用構(gòu)造方法

    構(gòu)造方法通常生命為 public

    構(gòu)造方法沒有返回值類型

    構(gòu)造方法必須與類名相同


    查看全部
  • 限制屬性賦值就是在 set 方法中增加業(yè)務(wù)判斷也處理支路

    查看全部
  • c# 封裝的快捷鍵 ctrl +r+e

    查看全部
  • c# 中對象與屬性的區(qū)別。

    prvate string _name;

    public string Name

    {

    ? ? set{_name=value;}

    ? ?get{return _name;}

    }

    查看全部
  • struct:

    s

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

    2020-09-24

  • C#中的數(shù)據(jù)類型

    值類型:int char double bool

    值類型變量存儲對象的值,賦值會創(chuàng)建值得副本,修改任何一個副本,不會影響其他的副本


    引用類型:類 數(shù)組 接口 string

    引用類型變量存儲對象的內(nèi)存地址,賦值不會創(chuàng)建值得副本,只會創(chuàng)建地址的副本,修改任何一個副本,也同時修改其他的副本。


    查看全部
  • 初始化:一、用有參數(shù)構(gòu)造方法初始化對象

    二、用無參數(shù)構(gòu)造方法初始化對象

    三、對象初始化器初始化對象(使用的是構(gòu)造方法的無參數(shù)構(gòu)造)與二相同,只是寫法更加簡潔而已。

    例子:Child child=new Child(){Name=“小米”,Age=55}?

    or?Child Child3 = new Child{ Name = "周潤發(fā)", Age = 5 };


    查看全部
  • 封裝的概念:隱藏對象的信息,留出訪問的接口

    關(guān)于封裝:

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

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

    方法

    59f215590001eb1712800720-156-88.jpg

    構(gòu)造方法

    59f215580001624b12800720-156-88.jpg


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

    2020-08-26

  • ref起到傳參作用:

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

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


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

    2020-08-26

  • 關(guān)鍵字 ref :讓值類型參數(shù)按引用類型傳參。

    注意,這里的值類型不能是對象的屬性。諸如 Growth( ref c1.Age),就是錯誤的。

    正確舉例:

    先定義方法,注意使用ref :static void Growth( ref int age){ age ++ ;}

    然后定義一個值類型變量:int age1 = 3;

    調(diào)用方法的時候,也必須使用ref :Growth( ref age1);


    5aced515000112f812800720-156-88.jpg



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

    2020-08-26

  • 在Main中訪問靜態(tài)方法時不需要實例化對象便可以直接調(diào)用方法名

    值類型和引用類型作為方法參數(shù)時的區(qū)別:

    1、按值傳參,方法修改形參,實參不會被修改;

    2、按引用傳參,方法修改形參,實參不會被修改;



    5ced5a320001c01d12800720-156-88.jpg

    查看全部
  • 枚舉:限定了范圍

    枚舉:

    1、值類型

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

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

    例子:enum Gender



    //Child c1 = new Child("梁曉雪", "女", 4);//錯誤?? ?5?? ?參數(shù) 2: 無法從“string”轉(zhuǎn)換為“Gender”?? ?
    ??????????? //Child c2 = new Child("劉小牛","猴",5);
    ??????????? //Child c2 = new Child("劉小牛", Gender.男, 5);
    ??????????? Child c2 = new Child("劉小牛", (Gender)0, 5);


    1、創(chuàng)建枚舉類型:項目名稱,右鍵,添加,類或新建項(代碼文件)

    2、枚舉屬于值類型,枚舉中不能定義字段屬性和方法,枚舉值是從0開始的整數(shù)值

    3、枚舉類型限定了一組有限的值,可以在某種程度上防止錯誤數(shù)據(jù)的輸入


    5c2f3b160001ff7112800720-156-88.jpg

    查看全部
    1 采集 收起 來源:枚舉

    2020-08-25

  • 簡單來說,struct是值類型,創(chuàng)建一個struct類型的實例被分配在棧上。class是引用類型,創(chuàng)建一個class類型實例被分配在托管堆上。但struct和class的區(qū)別遠不止這么簡單。
    概括來講,struct和class的不同體現(xiàn)在:
    ●?類是引用類型,struct是值類型
    ●?在托管堆上創(chuàng)建類的實例,在棧上創(chuàng)建struct實例
    ●?類實例的賦值,賦的是引用地址,struct實例的賦值,賦的是值
    ●?類作為參數(shù)類型傳遞,傳遞的是引用地址,struct作為參數(shù)類型傳遞,傳遞的是值
    ●?類沒有默認無參構(gòu)造函數(shù),struct有默認無參構(gòu)造函數(shù)
    ●?類支持繼承,struct不支持繼承
    ●?類偏向于"面向?qū)ο?,用于復雜、大型數(shù)據(jù),struct偏向于"簡單值",比如小于16字節(jié),結(jié)構(gòu)簡單
    ●?類的成員很容易賦初值,很難給struct類型成員賦初值
    ●?類的實例只能通過new?someclass()來創(chuàng)建,struct類型的實例既可以通過new?somestruct()來創(chuàng)建,也可以通過somestruct?mystruct;來創(chuàng)建
    一、從賦值的角度體驗struct和class的不同
    引用類型賦值,是把地址賦值給了變量
    
    
    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;?}
    ??}
    運行結(jié)果如下圖所示:以上,當把sizeclass賦值給copyofsize變量的時候,是把sizeclass所指向的地址賦值給了copyofsize變量,2個變量同時指向同一個地址。所以,當改變copyofsizeclass變量的值,也相當于改變了sizeclass的值。
    struct類型賦值,是完全拷貝,在棧上多了一個完全一樣的變量
    
    
    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();
    ????}
    ??}
    程序運行結(jié)果如下圖所示:以上,當把sizestruct賦值給copyofsizestruct變量的時候,是完全拷貝,改變copyofsizestruct的值不會影響到sizestruct。
    二、從參數(shù)傳值角度體驗struct和class的不同
    引用類型參數(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"};
    ????}
    ??}
    ???
    
    
    運行結(jié)果:my?god
    為什么不是hello?world?
    →棧上的temp指向托管堆上的一個集合實例
    →當temp放到changereferencetype(temp)方法中,本質(zhì)是把temp指向的地址賦值給了變量list
    →在changereferencetype(listlist)方法內(nèi)部,又把變量list的指向了另外一個集合實例地址
    →但temp的指向地址一直沒有改變
    我們再來改變changereferencetype(listlist)內(nèi)部實現(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");
    ????}
    ??}
    ???
    
    
    運行結(jié)果:hello?world
    為什么不是my?god???
    →棧上的temp指向托管堆上的一個集合實例
    →當temp放到changereferencetype(temp)方法中,本質(zhì)是把temp指向的地址賦值給了變量list
    →在changereferencetype(listlist)方法內(nèi)部,把temp和list共同指向的實例清空,又添加"hello"和"world"2個元素
    →由于list和temp指向的實例是一樣的,所以改變list指向的實例就等同于改變temp指向的實例
    以上,很好地說明了:引用類型參數(shù)傳遞的是地址。
    值類型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 采集 收起 來源:結(jié)構(gòu)

    2020-08-25

舉報

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

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網(wǎng)的支持!