C 學習筆記(6) 封裝和方法

2021-09-24 23:50:08 字數 1521 閱讀 1280

封裝被定義為"把乙個或多個專案封閉在乙個物理的或者邏輯的包中"。在物件導向程式設計方**中,封裝是為了防止對實現細節的訪問。

c# 封裝根據具體的需要,設定使用者的訪問許可權,並通過訪問修飾符來實現

c#支援的訪問修飾符如下

public

所有物件都可以訪問

private

物件本身在物件內部可以訪問

protected

只有該類物件及子類物件可以訪問

internal

同乙個程式集的物件可以訪問

protected internal

訪問限於當前程式集或派生自包含類的型別

如果沒有指定訪問修飾符,則使用類成員的預設訪問修飾符,即為private

乙個方法是把一些相關的語句組織在一起,用來執行乙個任務的語句塊。每乙個 c# 程式至少有乙個帶有 main 方法的類。

1. 方法定義

(parameter list)

2.方法呼叫

例項呼叫和類呼叫 (例項類名.方法名/類名.方法名)、遞迴呼叫

當呼叫帶有引數的方法時,您需要向方法傳遞引數。在 c# 中,有三種向方法傳遞引數的方式:

值傳遞預設傳遞方式。這種方式複製引數的實際值給函式的形式引數,實參和形參使用的是兩個不同記憶體中的值。在這種情況下,當形參的值發生改變時,不會影響實參的值,從而保證了實參資料的安全。

引用傳遞

這種方式複製引數的記憶體位置的引用給形式引數。這意味著,當形參的值發生改變時,同時也改變實參的值

輸出傳遞

這種方式可以返回多個值。

在 c# 中,使用ref關鍵字宣告引用引數,使用out關鍵字宣告輸出傳遞

提供給輸出引數的變數不需要賦值。當需要從乙個引數沒有指定初始值的方法中返回值時,輸出引數特別有用

/* 引數傳遞*/

using system;

public class argstest

//引用傳遞

public void swpaq(ref int a, ref int b)

//輸出傳遞

public void getvalue(out int x, out int y)

}class testmain

",a);

console.writeline("b: ",b);

sw.swpaq(ref a,ref b);

console.writeline("a: ",a);

console.writeline("b: ",b);

sw.getvalue(out a, out b);

console.writeline("a: ",a);

console.writeline("b: ",b);

console.readline();

} }}

C 學習筆記(3) 封裝

封裝是c 物件導向三大特性之一 封裝的意義 1 封裝的意義 2 類在設計時,可以把屬性和行為放在不同的許可權下,加以控制。在c 中,共有三種許可權 公共許可權 public 類內可以訪問 類外可以訪問 保護許可權 protected 類內可以訪問 類外不可以訪問 私有許可權 private 類內可以...

C 學習筆記(九) 封裝

c 物件導向的三個特性 封裝 繼承和多型。意義 將屬性和行為作為乙個整體,表現生活中的整體。將屬性和行為加以許可權控制。屬性 用資料描述 行為 用函式描述 許可權 public 公共許可權 類內可以訪問,類外也可以訪問。protected 保護許可權 類內可以訪問,類外不可以訪問。兒子可以訪問父親的...

C 學習(8) 封裝

c 物件導向的三大特性 封裝 繼承 多型 c 認為萬事萬物都可以為物件,物件上有其屬性和行為 具有相同性質的物件,可以抽象為類 封裝是c 物件導向三大特性之一 封裝的意義 封裝意義一 在設計類的時候,屬性和行為寫在一起,表現事物 語法 class 類名 示例1 設計乙個圓類,求圓的周長 includ...