結構 類與屬性小結

2021-10-07 12:59:19 字數 2272 閱讀 8754

結構宣告的方式

public struct 結構名

結構宣告的位置

將結構宣告到命名空間的下面,類的外面,表示這個命名空

間下,所有的類都可以使用這個結構。

結構的使用

初始化結構成員可通過兩種方式來完成

一是使用引數化建構函式,即使用new關鍵字

二是在宣告結構後分別訪問成員(如果只給部分字段賦值會報錯)

結構名 變數名=new 結構名();

列舉宣告方式:

[public] enum

列舉名值1,

值2,值3,

public:

宣告位置:將列舉宣告到命名空間的下面,類的外面,表示這個命名空間下,所有的類都可以使用這個列舉。(列舉就是乙個變數型別), int double string decimal.只是列舉宣告、賦值、使用的方式跟那些普通的變數型別不一樣 。

型別轉換

列舉與int 相互轉換

要獲得列舉的值,只要轉換為string型別.

列舉與string相互轉換:

如果將字串轉換成列舉型別則需要下面這樣一行**:

(要轉換的列舉型別) enum. parse (typeof (要轉換的列舉型別),」要轉換的字串");

如果轉換的字串是數字,則就算列舉中沒有,也會不會拋異常。

如果轉換的字串是文字,如果列舉中沒有,則會丟擲異常。

屬性的使用

_name

public 對應字段 屬性名(name)

;set;

}建構函式

建構函式是乙個特殊的方法

1)、建構函式沒有返回值,連void也不可以寫、必須public

2)、建構函式的名稱必須跟類名一樣。

new關鍵字

1)在記憶體中開闢空間

2)在開闢的空間中建立物件

3)對物件進行初始化,將各個屬性值賦值

繼承的目的:

①提高了**的重用性,

②提高程式設計的效率:

③為程式設計中的特別需要提供了編寫**的自由空間,從而提高了已有程式設計成果的可擴充套件性.

類繼承注意的規則:

①單根性

②傳遞性(檢視類圖)

③派生類定義與基類同名的成員,則覆蓋基類成員;(使用new關鍵字)

④派生類自然繼承基類的成員,但不能繼承基類的建構函式的成員。

//建構函式

//子類中不能繼承父類中的建構函式,但是會預設地呼叫父類中的無參的建構函式

//兩種方法.

//1)在父類中再寫乙個無參的建構函式,在每個子類當中都需要再進行-次建構函式的重寫與各個欄位的

//2)使用關鍵字base()

public sales(string name,string department ,intsaletarget):base(name,department)

sealsd 關鍵字

封閉類的繼承

唯一的限制是抽象類無法作為封閉的類

資料的封裝

意義:封裝的意義在於保護或者防止**(資料)被我們無意中破壞。防止對實現細節的訪問。

c#中通常將方法或者其他資料成員均封裝在-乙個類中,具體地,封裝使用訪問修飾符來實現。乙個訪問修飾符定義了乙個類成員的範圍和可見性。

訪問修飾符:

public公開的

任何公有成員可以被外部的類訪問

private只能在當前類的內部訪問,類成員的預設修飾符

只有同樣乙個類的函式可以訪問它的私有成員。即使是類的例項也不可以訪問它的私有成員

protected 受保護的只有當前類內部或子類可以訪問

允許子類訪問他的基類的成員變數和成員函式,有利於繼承

internal只能在當前專案中訪問.在同乙個專案中internal和public的許可權相同

protected +internal

允許乙個類將其成員變數和成員函式對同-一應用程式內的子類以外的其他的類物件和函式進行隱藏。這也被用於實現繼承。

修飾類的訪問修飾

1.能夠修飾類的訪問修飾符只有兩個: public、internal.

2.可訪問性不一-致。

子類的訪問許可權不能高於父類的訪問許可權。

類的多型

在c#中可以通過多種途徑實現多型性。

虛方法:將父類的方法標記為虛方法,使用關鍵字virtual,此方法在子類中可以重寫(使用關鍵字override)

抽象類與抽象方法:如果我們不需要使用父類建立物件,它的存在只是為供子類繼承。可以將父類寫成抽象(關鍵字abstract)類,將父類方法寫成抽象方法,子類中的方法仍用關鍵字override重寫。

類結構 屬性

相同點 定義變數的格式 資料型別 變數名 變數值 先宣告後使用 變數都有其對應的作用域 不同點 在類中宣告的位置不同 屬性 直接定義在類的一對 內 區域性變數 宣告在方法內 方法引數 塊內 構造器形參 構造器內部的變數 關於許可權修飾符的不同 屬性 可以在宣告屬性時,指明其許可權,使用許可權修飾符 ...

結構體模板與類模板小結(2018 4 27)

include include using namespace std template struct node 宣告結構體模板 template class node node void add after t e void add before t e int num sum void add ...

類與物件小結

1.類是乙個模板 抽象 物件是乙個具體的例項 2.方法的定義與呼叫。3.物件的引用 引用型別 基本型別 8 物件是通過引用來操作的 棧 堆 4.屬性 字段 field 成員變數 預設初始化 數字 0 0.0 char u0000 boolean true or false 引用 null 修飾符 屬...