日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

[黑马程序员二]:C#面向对象基础

發布時間:2025/3/14 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [黑马程序员二]:C#面向对象基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-------???Windows Phone 7手機開發.Net培訓、期待與您交流!?-------

?

1.類是對象的類型,對象是類的實例,類是不占內存的,對象才占內存。


2.類的定義:

[訪問修飾符] class類名//訪問修飾符:public,private,internal,protected,缺省時認為private

{

成員;//字段,屬性,方法等

……

}

Public:可以在任意地方被訪問

Private:只能在本類中被訪問

Internal:只能在本項目中被訪問

Protected:只能在本類和子類中被訪問

?

3.類的實例化

類名 實例名=new 類名();//例如Persontom=new Person();

New關鍵字:實例化類,并在內存中給實例分配空間。

?

4.字段和屬性:

?

private intage;//字段,常為private,防止類外部直接操作變量 public int Age//屬性,定義一個public的具有set/get方法的變量,用于將private字段封裝(進行變量初始化控制),用于類外部訪問變量 {set{//value關鍵字就是存儲用戶賦的那個值if (value > 0)age = value;elseage = 0;}get{return age;} } ?

?

5.構造函數和析構函數:

用來創建對象的特殊方法,方法名和類名一樣,沒有返回值,連void也不需。如果不指定構造函數,則編譯器會加一個無參的構造函數,如果自定義構造函數,則編譯器不會在自動生成構造函數。構造函數定義:[訪問修飾符]方法名(參數){}

?

  • 對多個屬性進行賦值時,不需要重復寫實例名。
  • 可以保證用戶在new一個對象時必須對某一個屬性進行賦值
  • 在創建對象時,對只讀屬性初始化
  • ?

    方法重載(overload):

    方法名必須相同,返回類型、參數必須不同(參數個數,參數類型)

    析構函數(C#基本上不用):~方法名(){}

    不能在結構中定義析構函數,只能對類使用析構函數;一個類只能有一個析構函數;無法繼承和重載析構函數;無法調用析構函數,它是自動被調用的(最后一個被調用的函數,用于垃圾回收);析構函數既沒有修飾符,也沒有參數。

    ?

    6.參數修飾符

    無修飾符:默認按值傳遞,方法收到原始數據的副本。

    Ref:按引用傳遞,參數在傳遞前被初始化,必須將參數作為ref 參數顯式傳遞到方法。

    Out:按引用傳遞,參數在返回前被初始化,必須將參數作為out 參數顯式傳遞到方法。

    Params:參數數組,實現了參數數目可變。當一個方法聲明了一個Params參數后,其后就不允許再有參數,但是其前可以有其他參數。

    ?

    7.命名空間(namespace):

    用于解決類重名問題,可以看做“類的文件夾”;命名空間可以嵌套命名空間;system是.net的根命名空間;在不同命名空間下類的調用方法:1、寫全稱:命名空間.類名;2、先using應用命名空間,在直接調用類

    ?

    8.字符串(String,SringBuilder):

    String類是一種傳統的修改字符串的方式,它可以完成把一個字符串添加到另一個字符串上的工作,但是在.Net 框架下,這個操作實在是劃不來.因為系統先是把兩個字符串寫入內存,接著刪除原來的String對象,然后再創建一個String對象,并讀取內存中的數據賦給該對象.這一來二去的,耗費資源和時間。

    StringBuilder 類(位于System.Text命名空間下)提供的Append方法,能夠在已有對象的基礎上進行字符串的修改,簡單而且直接。String在進行運算時(如賦值、拼接等)會產生一個新的實例,而StringBuilder則不會,因此進行大量的字符串拼接或頻繁對某一字符串操作時最好使用StringBuilder。


    轉載于:https://www.cnblogs.com/zhang-z-qiang/archive/2013/04/01/2994207.html

    總結

    以上是生活随笔為你收集整理的[黑马程序员二]:C#面向对象基础的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。