知識點
掌握程度
語句了解
陣列掌握
建構函式
掌握字段 屬性
掌握靜態類,密封類,抽象類
掌握介面
熟練繼承
掌握1. console.writeline():列印到控制台並換行
2.c#型別:值型別、引用型別
3.namespace:不同資料夾下的類可以屬於同乙個namespace
4.字串相加:使用(+)操作符,任何其他物件與字串相加都會自動呼叫tostring()
6.字串比較:只要str1和str2內容相同,str1 == str2表示式都會返回true。==操作符被string過載
7 .整型:byte、short、int、long,都有相應的有/無符號版本,其中byte是無符號的,其他是有符號的
8. 浮點型:float、double、decimal,只有有符號版本
9.值型別中的數值型:都包含minvalue、maxvalue屬性,可以直接由型別通過(.)操作符訪問
10.強制型別轉換1
:(())操作符,如int i = (int)c;
11.char:字元型,unicode編碼(16位)。可看作無符號整型,可以使用ushort以上的型別強制型別轉換
1 註腳解釋: 1強制型別轉換.
(一).語句定義
:語句是構造所有c#程式的構造塊,通常以分號結束語句,乙個大括號括起來一系列語句構成的**塊。語句可以宣告區域性變數或常數,呼叫方法,建立物件或將值賦予變數、屬性或字段。
重點語句:選擇語句、迴圈語句、跳轉語句、異常處理語句
1.-條件語句包括:if……else ,switch….case…default if else語句的基本結構是
(1) * if(bool型別的判斷語句)
else
(2) * switch…case…default的基本用法為:
switch(需要判斷的變數)
case 變數的值:
break;
default:
break;
2.-迴圈語句包括:while語句 ,do…while語句,for語句,foreach語句
(1)while的用法:
while(返回值為bool型的變數)
(2)do….while的用法: do
while(返回值為bool型的變數)
(3) for迴圈的用法:
for(可賦值的變數=初始值;變數的範圍;變數依次變化量)
(4)foreach語句的用法
foreach(要迴圈的每個變數的型別 變數名 in 要迴圈的集合或陣列)
3.-跳轉語句快捷鍵
goto :跳轉到特定的位置
例如 :
goto mark;
console.writeline(「第一行」);
mark:
console.writeline(「第二行」);
*[goto]: 遇到goto不執行第一行,直接執行第二行
continue:跳出本次迴圈
break:跳出迴圈
throw:丟擲異常
4.-異常處理語句:由try ,catch,finally構成,try語句是必須存在的,catch和finally可全部出現,也可省略乙個,但必須出現乙個
trycatch
finally
每個結構和類都有預設的建構函式,類中加入自定義的建構函式後,預設的會自動消失,而結構中預設的建構函式不會消失,因此結構中的建構函式必須加引數。建構函式初始化所有字段,它的方法名與類名相同且無返回值型別,例項化類時new的作用:
1.分配記憶體2.例項化類中的字段和方法
類**現靜態建構函式的方法為:1.自定義乙個靜態建構函式2.定義乙個靜態的字段
*[注意]:有多個建構函式時先呼叫靜態建構函式,靜態建構函式不能有引數和訪問修飾符
屬性:是類或結構中的物件或值類和結構使用字段可以封裝資料。字段通常應設定為:private。外部類應該通過方法、屬性或索引器間接訪問字段。欄位的初始化緊靠呼叫物件例項的構造方法之前。如果建構函式為字段賦值,則該值將覆蓋字段宣告期間給出的任何值
**屬性:**提供靈活的機制讀取、編寫或計算私有欄位的值。可以像使用公共資料成員一樣使用屬性,屬性通過get和set訪問器來運算元據。
(一)靜態類
靜態類在載入包含該類的程式或命名空間時由 .net framework 公共語言執行庫 (clr) 自動載入。
靜態類的主要功能:
1.它們僅包含靜態成員。
2.它們不能被例項化。
3.它們是密封的。
4.它們不能包含例項建構函式。
*[注意]:
靜態類中的建構函式不能有訪問修飾符和引數,靜態類不能被繼承也不能繼承其他自定義的類。靜態方法可以被過載但不能被重寫
(二)密封類
關鍵字為:sealed,放於class前,密封類不能用在基類,密封類的主要作用為:防止派生
(三)抽象類1
關鍵字為:abstract。抽象類不能被例項化,抽象類中的例項化函式不可以被呼叫,只有通過子類來呼叫。靜態函式可通過類名、方法名來呼叫。
介面的關鍵字為:inte***ce,介面只能有public訪問修飾符而且pubic不能手動再次輸出,介面不能被例項化。
繼承的方法在子類後加冒號,冒號後加父類名
例如:
public class a
public a()
console. writeline("a的建構函式")
public class b:a
public b()
console. writeline("b 的建構函式")}}
static void main()
bb=new b();
新類(即派生類)將獲取基類的所有非私有資料和行為以及新類為自己定義的所有其他資料或行為。
建構函式的呼叫:以上**為例:當例項化b時,先呼叫a的建構函式,再呼叫b的建構函式,b的建構函式預設繼承base()若**為下例
public class a
public a(int i)
console writeline("a的建構函式"+i);
public class b: a
public b()
console writeline("b的建構函式");
這個例子是不正確的,當實現b的建構函式時會向上查詢與b類建構函式匹配的a的建構函式b建構函式預設繼承base(),但a中不存在建構函式
public a()
console. writeline("a的建構函式");
*[注意事項]:base()表示父類物件,this表示本類物件。 繼承的子類中可以有和父類方法簽名相同的方法當呼叫時父類方法被隱藏,若 在子類方法名前加new時稱為顯示隱否則為隱式隱。註腳的解釋 抽象類中不能有抽象建構函式,也不能有抽象字段。抽象類的訪問修飾符不能為private ↩︎不允許迴圈繼承,繼承時呼叫只會影響子類。 方法的重寫:在父類的方法前加
virtual說明方法定義為虛方法,可以在子類中重寫該方法,重寫的是前乙個 virtual i的方法。
↩︎↩︎
C 物件導向程式設計技術(一)
物件導向程式設計 object oriented programming,oop 的基本思想是 將資料及處理這些資料的操作都封裝到乙個稱為類 class 的資料結構中。一 類和物件 1.類的宣告 類修飾符 class 類名 基類類名 注意 和 c 不同,c 不將類的宣告與實現分開。不會區分標頭檔案和...
物件導向程式設計技術 作業題二
include define use math defines include using namespace std class cshape 圓 class ccircle public cshape virtual ccircle virtual double area virtual dou...
C 中物件導向程式設計技術的應用 二
1,重寫虛方法 1 虛方法 虛方法就是允許被其子類重新定義的方法,在宣告時,需要用virtual修飾符 注意 1,virtual修飾符不能與static abstract或者override修飾符同時使用 2,由於虛方法不能是私有的,所有virtual修飾符不能與private修飾符同時使用 例如 ...