C 面對物件的基礎

2021-10-08 19:26:58 字數 2465 閱讀 1673

c#是一門面對物件的程式語言,面對物件(簡稱oo,object-oriented),是一種編寫方式,直接從物件出發(不過這只是編寫方式,一樣要從整個流程看待需要編寫的程式,知道其過程)

萬物皆為物件

物件:物件的屬性 認作為物件的一類事物的靜態特徵

物件的方法 認作為物件的一類事物的動態特徵

物件=屬性+方法

以上是從面對物件角度出發理解

在c#中存在類的概念,類例項化為物件來使用,實現其功能

類就是具有相同或相似(多型實現)性質物件的抽象,類有屬性和方法,在c#具體實現有所差異

宣告類:

[訪問修飾符] class 類名

類命名一般大寫開頭

訪問修飾符: 要訪問物件的訪問許可權(在c#中要訪問的是類與類的成員)

public,private,internal,protected,protected internal

作用物件分為兩類:

作用於類:其它程式的類 對這個類的訪問許可權,如:using 命名空間,使用類庫里的類

public 最高訪問級別,對所有程式可見

private 最低訪問級別,只用本程式可訪問

internal 同一程式集中可訪問

作用於類的成員:其它類 對這個類的成員的訪問許可權

public 所有類都可以訪問

private 本類才可以訪問

internal(內部的) 同一程式集裡的類(本類和其他類)可以訪問

protected 本類或派生類訪問

protected internal (internal與protected的結合)派生類或同一程式集的類才可以訪問

相當於乙個保險箱,先知道保險箱的位置(對類的訪問),輸入密碼拿取裡面的東西(對類成員的訪問)

class不加修飾符,預設為internal

類成員不加修飾符,預設為private

介面沒有顯示的修飾符,介面與其成員預設為public

部分類:把乙個類分成兩個類,類名相同,訪問修飾符一致,不能有同名元素

關鍵字 partial

public

partial

class

student

public

partial

class

student

建立物件:

類名 物件名=new 類名(建構函式的引數列表);

eg: cat c=new cat();;

類的成員:

1.欄位

訪問修飾符 資料型別 欄位名;

2.屬性

屬性是字段的一種自然擴充套件,是訪問欄位的工具

屬性通過get訪問器的return讀取欄位的值

通過set訪問器的value設定欄位的值

private

string name;

public

string name

set}

自動屬性:

可自動生成字段

public

string age

索引器:

是一種特殊的屬性,索引器引用的不是字段變數,而是陣列

只能應用於陣列這種有序序列,集合這種有序序列無法使用,因為索引值大小超過了集合大小

static

void

main

(string

args)

}class

dayarray

//陣列名字

set}

}

3.方法(函式)

建構函式:

在類例項化時一定會執行的方法,用於類的初始化。

不顯示宣告構造方法,編譯器會自動為類宣告乙個空的構造方法。

建構函式必須與類名同名

建構函式沒有返回值

建構函式可以過載,為初始化類提供不同的方法

訪問修飾符 類名(引數列表)

構造方法分兩種:

預設建構函式:不帶引數

不是預設建構函式:帶引數

析構函式:

用於在物件生命週期結束時,執行釋放記憶體空間,**以分配資源

沒有引數,沒有修飾符,不能過載(只有乙個)

~ 類名()

類的成員分兩種:

靜態成員:歸類所有,使用static關鍵字修飾,指向同乙個儲存位置,靜態成員時共享的

動態成員(例項成員):歸物件所有,不使用static關鍵字修飾,不指向同乙個儲存位置,每次建立新的物件,都會建立新的位址,動態成員一旦隨著物件建立以後,每次修改值都互不影響

在類的內部

例項方法可以訪問例項成員,可以訪問靜態成員

靜態方法只能訪問靜態成員

在類的外部

類名.靜態成員

物件名.動態成員

this指標:指向當前正在執行的類的例項物件

靜態方法不能使用this指標,因為靜態成員不屬於某個具體物件

初識c 面對物件

語法 public class 類名 寫好乙個類之後,我們需要建立這個類的物件 建立這個類的物件的過程稱之為類的例項化。關鍵字 new 類是不佔記憶體的,物件是佔記憶體的。作用 保護字段,對字段的賦值和取值進行限定。本質就是兩個方法,乙個叫 get 乙個叫set 既有get 也有set 我們誠之為可...

c 面對物件繼承

可以認為類是屬於命名空間的 如果在當前專案中沒有這個類的命名空間,我們需要手動匯入這個類所在的命名空間 alt shift f10 快捷鍵 在乙個專案中引用另乙個專案的類 1.新增引用 2.引用命名空間 區別 1.值型別和引用型別在記憶體上儲存的地方不一樣。2.在傳遞值型別和傳遞引用型別的時候,傳遞...

面對物件多型 C 面對物件設計學習資料(多型)

c語言初學 態性是指相同的行為可能於多種型別的隊形上獲得不同的結果。不同的物件,收到同一訊息的可能產生不同的結果,這種現象稱為多型。多型可分為靜態多型和動態多型兩種。多型的優點 組織結構清晰 可讀性強 利於前期和後期的擴充套件和維護。靜態多型 函式和運算子過載。2.動態多型 這 呼叫dospeak ...