一、類和物件概念
1。為什麼用物件導向的程式設計?
2。物件導向的方法的功能特性?
真實建模
可重用性
輕鬆更改
以不同的形式存在
3。什麼是物件:物件是乙個實體,可以有物理邊界。它有以下幾個特性 :狀態、行為、身份
4。什麼是類? 類包括一組共享結構和行為的物件。類是具有公共行為和屬性的物件的集合
5。類和物件的關係:
二、類的實現
1。建立類的語法:
訪問符 class 類名
屬性(存放資料)
方法(實現功能和行為)
訪問符有:private(私有)、public(共有)、protected(保護)、internal(內部)
2。屬性:私有屬性(字段)、公共屬性(get/set實現)
3。私有屬性宣告:訪問符 型別 屬性名(變數名)
4。常用的型別有:int float double char bool
5。資料型別有:值型別和引用型別,值型別的變數可以直接在變數中包含資料。
引用型別變數僅包含對資料的引用。資料儲存在不同的記憶體區域,如:string和 類都是引用型別
6。方法(函式)的實現
訪問符 返回型別 函式名(引數)
函式體引數型別:
值傳遞引數:
只向函式內部傳值
宣告方式:訪問符 返回型別 函式名(型別 型引數名)
呼叫方式 函式名(實參名);
引用引數:
可以向函式內部傳值也可以向外傳值
宣告方式:訪問符 返回型別 函式名(ref 型別 型引數名)
呼叫方式 函式名(ref 實參名);
輸出引數:
只向函式外部傳值
宣告方式:訪問符 返回型別 函式名(out 型別 型引數名)
呼叫方式 函式名(out 實參名);
注意:函式呼叫時,不能指定型別,對應的形參和實參型別要一致,
有返回型別必須有return ,呼叫時用變數接收返回值 如:變數=函式名(引數名);
特殊的函式:建構函式和析構函式
建構函式:用來初始化成員資料,建立物件時自動呼叫。
不能有返回值,函式名與類同名
析構函式:從記憶體中釋放物件 ,物件失去作用域時自動呼叫。
不能有返回值,函式名與類同名不能有引數,乙個字首~(鼻音化符號)。
特殊的析構函式:finalize(),垃圾**器自動呼叫。
對於需要立即釋放的資源使用dispose()方法
7。靜態變數和靜態函式
靜態變數也叫類變數,所有物件共享該變數,只能通過類訪問,不能用物件訪問
靜態函式來訪問靜態變數,非靜態變數不能通過使用靜態函式來訪問
8。函式體的實現
運算子:
算術運算子:+ - * / % ++ --
比較運算子:> < == >= <= !=
邏輯運算子:&& || !
三、流程控制:
條件語句:
if(條件)
else
switch(變數表示式)
case 值1:...;break;
case 值2:...;break;
case 值n:...;break;
default:...;break;
迴圈語句:
先判斷後執行
while(條件)
for(初始化表示式;比較表示式;增/減量表示式)
先執行後判斷
dowhile(條件)
foreach(型別 變數 in 物件)//無需檢查物件大小,對於大迴圈效能高於for
迴圈體的控制語句
break(無條件退出迴圈)
continue(退出本次迴圈)
注:一般不固定次數的迴圈用while和do... while
固定次數迴圈用for
四、陣列
陣列是相同資料型別值的集合
宣告陣列:
int score; // 陣列宣告
score = new int[10]; //陣列例項
宣告並初始化陣列
int score=;
或int source = new int[5] ;、
《類和物件》 析構函式
概念 前面通過建構函式的學習,我們知道乙個物件時怎麼來的,那乙個物件又是怎麼沒呢的?析構函式 與建構函式功能相反,析構函式不是完成物件的銷毀,區域性物件銷毀工作是由編譯器完成的。而 物件在銷毀時會自動呼叫析構函式,完成類的一些資源清理工作。特性 析構函式是特殊的成員函式。其特徵如下 析構函式名是在類...
類和物件 構造析構函式
a.類和物件 1.關鍵字class表明正宣告乙個類,類中資料成員 屬性 和資料功能 行為 經過封裝,使得使用者通過外部介面訪問。2.類的封裝隱藏了實現細節,同時也保證了資料的安全性。3.只要類的外部介面不變,內部實現細節再怎麼修改,使用類庫的程式也不用修改。4.物件是類型別的變數。5.內聯成員函式 ...
類和物件的刨析(二)
在我們寫 的時候經常會涉及兩種角色 類的實現者和類的呼叫者.封裝的本質就是讓類的呼叫者不必太多的了解類的實現者是如何實現類的,只要知道如何使用類就行了.這樣就降低了類使用者的學習和使用成本,從而降低了複雜程度.private public 這兩個關鍵字表示 訪問許可權控制 被 public 修飾的成...