c 學習筆記之類和物件

2022-08-26 07:00:09 字數 2322 閱讀 8566

一、與生活中的類一樣 ,程式中的類描述了一種物件,定義乙個完整的類,需要包括字段、屬性、方法、建構函式和析構函式(析構函式在程式編譯時自動生成,可以不必自己寫)。

定義類的方法和字段時,要通過訪問修飾符來修飾類和類成員的訪問許可權。

public為公共訪問,可以有任何其他類成員訪問。private為私有訪問,只在定義它的類中訪問。protect為受保護訪問,可以在類內部和以該類為基類的派生類中訪問。internal為內部訪問,只有在同一程式集中的檔案中,內部成員才能被訪問。

eg:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

}class

time

public time(int year,int month,int

day)

public

void

output()

monht: day

", year, month, day);}}

}

程式執行結果為:

二、靜態類

靜態類是類的一種,與非靜態類的區別為:靜態類不能被例項化,即不能使用new關鍵字建立靜態類的例項物件

eg:public static class day

public static void output()

console.writeline("qwer");

呼叫時只能使用類名呼叫

eg:   day.output();

三、函式的過載(overloading)

使用過載的目的是為了使用同一方法名實現不同的功能。說的明白一點就是過載就是寫的函式的名字一樣,函式的引數不一樣。

eg:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

}class

time

public time(int year,int month,int

day)

public time(int year,int day)//

過載函式

public time(int month)//

過載函式

public

void

output()

monht: day

", year, month, day);}}

}

輸出結果:

當使用過載函式賦值時,各個time物件輸出的值不同,但不知道為什麼未給賦值時,輸出的是0,而不是輸出建構函式的1???

四、overriding

overriding是在繼承中允許在子類修改函式的功能

eg:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

}public

class

time

public time(int year,int month,int

day)

public

virtual

void

output()

monht: day

", year, month, day);}}

public

class

time2:time}}

其中,time2 overriding time中的output,輸出結果為

C 學習筆記之類和物件

建構函式 析構函式 訪問控制 例子1 帶預設引數 檔案circle.h if defined circle h define circle h include using namespace std class circle void draw 複製建構函式 circle circle c void...

《C 學習筆記》之類和物件

一,對類和物件的理解 人們可以通過類自定義自己需要的型別,新的型別中可以有資料,可以有對資料進行處理的方法。然後對類進行例項化後,就產生了物件,類是物件的抽象,物件是是類的具體化。比如家庭是乙個類,這個類中有資料 家庭成員,方法 家庭成員的日常活動。然後這個類具體化後可以產生甲同學的家庭,乙同學的家...

C 學習筆記之 類 物件

類是描述具有相同特徵和行為的抽象。物件是類的例項。類的作用就是分類!class關鍵字 class 類名 1 字段 類的共有屬性class car比如以上的brand,price,displacement 簡單的應用 using system namespace lesson12 class main...