C 基礎知識練習2

2021-08-15 05:09:48 字數 2418 閱讀 5878

當多個類有很多相似的資料,比如在乙個在遊戲中,boss類和小怪enemy類,他們都有存在hp這個屬性,但是也存在不同的地方,這個時候可以使用繼承來維護的=這兩個類。

繼承的型別:

怪物基類baseenemy

class baseenemy

get

}public

float speed

get

}public

void

ai()

public

void

move()

}

子類boss

class boss:baseenemy  //繼承有怪物基類

}

主函式:

class

program

}

執行結果:

這是基類的ai方法

這是基類的移動方法

這是boss特有的攻擊方法

父類宣告的物件可以用子類去構造,但是子類宣告的物件不能用父類去構造例子:

baseenemy baseenemy =new boss();

boss boss = (boss)baseenemy;

boss.attack();

虛函式不一定要重寫

當多個怪物類擁有不同的動畫系統時,基類就可以使用虛方法的形式供子類呼叫,子類負責重寫虛方法,然後完善各自的細節

父類baseenemy:

public

virtual

void

animataion() //提供子類重寫的虛方法

子類boss:

public

override

void

animataion()

呼叫結果:

boss boss = new boss();

boss.animataion();

//呼叫結果:

//這是boss特有的動畫

抽象方法必須要重寫抽象類不能例項化,抽象類可以包含乙個普通函式和抽象函式,抽象函式只有函式定義沒有函式體。

對於類,這表示不能繼承該類。對於方法,表示該方法不能重寫

特點:

可以防止重寫某些類導致**混亂

protect受保護的方法,只有派生類才可以呼叫

static 靜態方法,只能通過類名訪問

每個類可以實現多個的介面,但是只能繼承乙個類

介面類:

inte***ce

ifly()

實現類:

class brid : ifly

}

定義乙個泛型就是指,定義乙個類,這個類中的某些欄位的型別是不確定的,這些型別可以在建構函式的時候確定下來

定義乙個帶有建構函式的泛型類:

class generic//定義乙個泛型t的資料型別,在建構函式的時候確定t的型別

class generic//定義乙個泛型t的資料型別,在建構函式的時候確定t的型別

public

void

getsum() //引數的相連

}

主程式:

class

program

}

執行結果:

string getsum(t1 a,t2 b) //帶有兩個形參的泛型方法

主程式:

static

void main(string args)

輸出結果:

1 3.14159

C 基礎知識 (2)

目的 在類中,不希望某些資料被修改,可以用const關鍵字加以限定 初始化 const 成員變數只有一種方法,就是通過建構函式的初始化列表 建構函式初始化列表 student student char name,int age,float score m name name m age age m ...

C 基礎知識(2)

c 基礎知識 1.預設引數函式 c語言中在函式呼叫時形參從實參取得,但是在c 中提供一種簡單處理方法給形參乙個預設值,當呼叫函式時,若該形參未傳入引數,則形參使用定義時的預設值。ps 注意傳參規則 實參與形參的結合是從左到右順序進行,所以有預設值的形參必須放在最右側。2.函式過載 c 中乙個函式名可...

c 基礎知識 2

物件導向的三大特徵之一 封裝 具體來說,封裝隱藏了類內部的具體實現細節,對外則提供統一訪問介面,來操作內部資料成員。這樣實現的好處是實現了ui分離,程式設計師不需要知道類內部的具體實現,只需按照介面協議進行控制即可。同時對類內部來說,封裝保證了類內部成員的安全性和可靠性。也就是說,封裝就是乙個包裝,...