国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# :面向對象

2019-11-17 03:06:52
字體:
來源:轉載
供稿:網友
C# :面向對象

一, 類與對象的區別和聯系

  1. 1、類與對象的概念 類:是具有相同數據結構和相同操作的對象的集合 對象:是類的實例化,一切皆對象。 2、類與對象的存在方式 類:是抽象的概念,是模版,確定對象將會擁有的特征(屬性)和行為(方法),比如說人類、汽車 對象:是一個你能夠看得到、摸到著的具體的實體,比如說張三、張三的車 3、類與對象的屬性和方法 屬性:對象具有的各種特征,每個對象的每個屬性都擁有特定值
  2. 方法:對象執行的操作
  3. 4、類不占內存,對象才占內存
  4. 5、類是對象的類型,比如定義了一個類,對其的實例化就是在用類這個類型來定義一

二 , 類

1,類的聲明

[訪問修飾符]class 類名{成員;.....}

例如:

Class student    //聲明一個student類{public  string   name;//屬性public  char    sex;public  int      age;public  void   sayHello()//方法{  Console.writeline();}}

2, 類的成員

1)字段:例如PRivate string name; (2)屬性:通俗點說,就是定義一個public的具有get、set方法的變量,這個變量是用于保護一個私有變量,可以例如上面的name字段,可以通過點擊右鍵重構中的封裝,然后出現get

例如

private  string _name; //字段public string Name //屬性{       get{ return _name;}//可讀       set{_name=value;}//可寫}

(3)類的方法

A、普通方法 [修飾符] 返回類型 方法名(形參列表) { 方法體 }

B、構造方法 (A)、構造方法是一個特殊的方法,它的名字和類的名字相同,并且沒有返回值,連void都可以省略不寫。 (B)、當我們定義好一個類之后,如果我們沒有寫構造方法,那么系統會自動給我們加上一個默認的沒有參數的構造方法,在這個構造方法中什么也不做,我們也看不到,可是當我們一旦手寫一個構造方法后,系統原先默認給我們添加的那個沒有參數的構造方法就不會再給我們添加了。 (C)、使用構造方法的好處: a、對多個屬性進行賦值時,不需要重復的寫實例名 b、可以保證用戶在new一個對象的時候必須對某一個屬性進行賦值 c、在創建對象時,對只讀屬性進行初始化

D)構造方法可以有參數,new對象的時候傳遞參數即可

例如

public Student(string name,char sex , int age){    this.Name=name;    this,Sex=sex;    this.Age=age;}static void Main(string [] args){    Student s=new Student("張三" , "女" , 18);}

(E)構造方法可以重載,也就是又多個參數不同的構造方法,例如以下代碼:

char sex; int chinese;int math;int english;public Student(string name, char sex, int age){    this. name=name;    this.age=age;    this.sex=sex;} public Student(string name,char sex,int age,int chinese,int math,int eglish)        {            this.name=name;            this.sex=sex;            this.age=age;            this.chinese=chinese;            this.math=math;            this.eglish=eglish;        }

3、類成員的訪問修飾符

Public : 同一程序集中的任何其他代碼或引用該程序集的其他程序集都可以訪問該類型或成員。

Private ; 該類成員至鞥在本類中被訪問,在類中定義變量或者方法的時候,沒有寫訪問修飾符默認是private

protected ; 只能由該類和由此類的派生類中的代碼才可以訪問

internal ; 同一程序集中的代碼或者氣子類代碼可以訪問,其他程序集代碼不可以

默認訪問修飾符

1):類或結構的默認訪問類型是internal.

2):類中所有的成員,默認均為private。

3):接口默認訪問符是internal

4):接口的成員默認訪問修飾符是public,也不可能是其他訪問修飾符

5):命名空間,枚舉類型成員默認public,也不可能是其他訪問修飾符

6):委托,默認internal

7):在命名空間內部或編譯單元頂部的所有類型,默認是internal,可以人為改為public。

四、靜態與非靜態數據成員

1、由Static修飾的類的方法或屬性,稱為靜態的數據,由于在一個類中只開辟了一塊內存空間存儲,并在類的所有對象實例間共享,它不依賴于具體的對象,因此直接通過類名訪問,而不是通過類的對象實例訪問的

2、而不由static修飾的方法或屬性,稱為非靜態數據,必須先實例化,再通過實例名.方法名或實例名.屬性名來訪問

五、this關鍵字 This關鍵字用來代表對象自身,this關鍵字可以用來解決名稱相同的問題。

string name;cha sex;int age;  public Student(string name,char sex,int age)        {            this.name=name;            this.age=age;            this.sex=sex;        }

上面的代碼參數的名和數據成員的名正好相同,通過使用this關鍵字來區分哪個是參數,哪個是數據成員,此時this關鍵字指向當前的對象,所以帶this的是類的數據成員,而不帶的this的是參數


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆阳市| 长阳| 同江市| 安福县| 泰和县| 龙里县| 宝坻区| 调兵山市| 科尔| 溧水县| 玉门市| 镇安县| 浑源县| 莱芜市| 若羌县| 沭阳县| 射阳县| 明水县| 丰城市| 乌兰浩特市| 金秀| 九龙城区| 娱乐| 察雅县| 金山区| 信阳市| 富阳市| 双桥区| 锡林浩特市| 沙河市| 拜泉县| 屏南县| 襄城县| 石首市| 荔浦县| 牟定县| 梁山县| 长乐市| 四川省| 东港市| 桃江县|