程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> c#面向對象基礎3

c#面向對象基礎3

編輯:C#基礎知識

靜態與非靜態的區別

(1)在非靜態類中既可以有實例成員,也可以有靜態成員(static修飾)。

(2)在調用靜態成員的時候要使用:對象名.實例成員。

(3)在調用靜態成員的時候要使用:類名.靜態成員。

總結:靜態成員使用類名去調用,非靜態成員使用對象名去調用。靜態函數中只能訪問靜態成員,不允許訪問實例成員   (靜靜),實例函數中既可以使用靜態成員,也可以是實例成員。

靜態類中只允許有靜態成員,不允許出現實例成員。

使用:什麼時候使用靜態,什麼時候使用非靜態

    (1)把類當成“工具類”去使用,考慮寫成靜態類  例如:console類

     (2)靜態類在整個項目中資源共享---------占內存,,,,只有程序全部結束後,靜態類才會釋放資源。

非靜態創建對象並賦值(逐一賦值)會造成代碼冗余,所以產生構造函數來賦值

 構造函數:

作用:初始化對象(給對象的每個屬性依次賦值),構造函數是一個特殊的方法。

     (1)構造函數沒有返回值,沒有Void

      (2)構造函數名稱必須和類名一樣。

語法:

public 類名(參數)

{

屬性賦值;

}

         創建對象時調用構造函數 關鍵字new

new關鍵字做了三件事:

(1)在內存中開辟了一塊空間。

(2)在開辟的空間創建對象。

(3)調用對象的構造函數進行初始化對象。

類當中默認有一個無參的構造函數   ,默認的構造函數會被我們新建的構造方法覆蓋

無參的構造函數:public 類名()

{

}

有參的構造函數:public 類名(參數)

{

賦值;

}

在創建對象時(new)傳參  n=new 類名(實參)

當類中已有重載的構造函數時,需要無參的構造函數需重新寫無參構造函數。

this關鍵字:

作用:(1)表示當前類的對象

         (2)調用本類當中的構造函數(重載中不全參數的構造函數去調用全參的構造函數)

               語法::this()

  例如:public Student(部分參數):this(全部參數值)

  析構函數:~類名(){}

 作用:當程序結束的時候,析構函數才執行     -----------》釋放資源

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved